四叶草
项目起步阶段, 往往是与产品确认需求, 先是头脑风暴, 然后便是开发设计, 但是在此过程中还有一点很重要. 那便是要与开发团队约定开发规范, 例如代码规范, 数据库规范, 接口规范, 设计规范等等.
为什么要定这些, 怎样定. 我之前的经验是, 这些东西完全就我自己出了, 然后跟同事 review 一下就完事了, 这样就会有很多问题, 首先便是, 在 review 时, 并没有太多人会上心, 多是都是走过场, 这就为将来埋下隐患了。
如果每个程序员都是脑力劳动者, 经常会出现同行相轻的情况, 相信这种情况大家见得很多了. 你我也是, 在代码上谁服谁啊, 都以为自己天下无敌, 有几个能做到清醒的自我认识。特别是现在搜索网站这么发达, 很多时候一个人宁可去相信百度, 也不相信你的规范, 更多的时候都是拿百度的搜索结果质疑你的规范。
所以,最近我思考改变后的做法便是, 每个规范都拿出不到一个小时的时间, 然后让所有的程序员坐在一起, 大家很民主的共同讨论这个规范, 有任何争议, 每个人先阐述各自的理由, 如果仍然有争议, 那么便通过投票来处理, 这样最后的结果就作为整个团队的规约, 并且言明, 如果在项目开发过程中, 仍然有人不按照游戏规则来, 那么就是这个人的问题了, 那这个人不尊重其他人的共同劳动成果, 那就需要不断提醒和跟这个同事交流,让他引起注意,如果多次沟通交流无果,最后只好解聘了,我们不能够因为共事感情,长期因为某个人跟团队的行为不一致,导致最后团队的效率和目标达不成的问题。
我用的开发语言主要是 JAVA, 所以代码规约用的是阿里的 JAVA 开发规范, 包的结构也提前定义出来, 项目中就是这种包结构了,数据库表定义必须加注释, 过去时态的要加过去时。接口规定完全遵照 Restful, 不过可以适当宽松, 如果有洁癖的, 也可以完全按照 Restful 规约来。