定制网站和模板网站最大的区别在哪?不在页面好不好看,而在最后你手里留下什么。模板站用了两年想改点东西,发现改不了,因为底层不是你的。定制网站的价值恰恰在于源码是交付给你的,可很多项目走到交付这一步,做得特别潦草:扔给客户一个压缩包,里面有代码、有几个说不清用途的文件夹,然后就算完事了。等客户想找人做二次开发的时候,接手的人打开一看,头都大了。
所以定制网站的源码交付,真不是给个压缩包那么简单,我把它拆成几件事说。
第一是代码本身的完整性。源码要分清哪些是必须交付的:业务代码、数据库结构、配置文件、部署说明。有些开发商会把数据库结构和部分配置扣在手里,觉得这样客户离了自己就玩不转,以后还得回头找他。短期看是拴住了客户,长期看是砸口碑,而且客户真要换服务商的时候,这一点点保留根本拦不住人,只会留下难看的收尾。我们做定制网站,交付清单是白纸黑字列出来的,每一样打勾确认,客户看得明白,我们也省得来回扯皮。
第二是权限部署,这是题目里最容易被忽略的一块。权限分两层说。一层是服务器层面的:代码放在哪个目录、数据库账号给多大权限、哪些目录需要写权限、哪些必须只读,这些要在部署文档里写清楚。尤其是数据库账号,很多项目图省事直接给 root,后期任何人接手都拿最高权限操作,风险太大。正确做法是建一个专用账号,只给这个业务库的读写权限,密码定期能换。另一层是后台管理权限:管理员、编辑、运营各是什么角色,能看到什么、能改什么,上线前要把默认密码全部改掉,把测试账号清干净。这两层的权限部署做好了,后期不管是谁来接手二次开发,都在一个清晰的边界里干活,不会出现改一处崩一片的情况。
第三是给二次开发留路。代码注释不能偷懒,关键的业务逻辑最好有说明文档,哪怕写得朴素一点,把“这块是干什么的、改这里会影响什么”讲清楚就行。环境依赖也要写明,用的什么版本、怎么在本地跑起来,这些信息留在文档里,比口头交代可靠得多。
有客户问过我,做这么细是不是多此一举,反正以后还要找你们改。我的回答是:方便别人二次开发,本质上也是约束我们自己把代码写规范。哪天真想找别人做,你手里的东西拿得出手;不想换,那更是一份长期合作的底气。定制网站花的是定制的钱,最后交付的就该是一个清清楚楚、握得住的东西。