对提高团队代码质量的些许愚见

做开发总是避免不了和Bug打交道。自从第一只真正的Bug被发现以后,Bug就像幽灵一样时刻伴随着软件开发。

Bug是不可避免的,这个是真理。听说有人写书叫”零Bug编程指南”,真是牛逼之极。莫非他是上帝?其实上帝也是会写出Bug的程序员,所以各个物种都在不断打补丁进化中。

虽然Bug不可避免,但是我们可以提高代码质量降低Bug出现的几率。代码也有熵的特质,特别是在现在多人多团队合作开发的情景里面,需要采取很多策略来提高代码质量。

首先对于团队来说,我觉得可以通过如下一些方式来提高代码质量:

一、最根本也是第一步要做的就是,在设计系统架构阶段就需要充分地考虑系统的可扩展性、模块的高聚合性以及接口灵活易用的性。要做到这一点,就和对需求的分析、系统的了解和经验有很大关系了,需要长期的积累和经常对架构的思考与实践。交给团队里面最牛逼的一个人去主导,比较牛逼的几人参与讨论来做这一步吧。

二、选用一个适合需求的开发框架,会让你事倍功半。PHP的框架有很多,各自有各自的特性和优劣,可以比较选择。Python的tornado在做Web应用的时候比较方便。同样前段也需要代码框架的支持,Javascript中jQuery能胜任大多数项目,HTML和CSS可以尝试使用Twitter的Bootstrap。使用框架对代码的健壮性有帮助吗?当然有!因为框架封装实现很多常用的功能,这样我们自己的代码量会大大减少。直观一点讲,代码量少了,bug自然就少了。其实最重要的是代码量少了,程序的逻辑和结构会更加清晰,从而减少Bug的出现。

三、多人协作需要良好的代码管理工具。SVN可以考虑淘汰了,用分布式的GIT。

四、团队还需要统一的开发环境。包括统一的编码规范、统一的语言版本、统一的编辑器配置(tab和空格之类)、统一的文件编码,统一的数据库等等。这样可以完全避免因为环境不同而导致的Bug。

五、较优秀的程序员应该负责较初级的程序员的代码质量,定期对初级程序员的代码进行review。同时团队内部应该有针对性对一些比较复杂或者变态的部分进行code review。

六、对于系统的破窗和肿瘤,要适时适量地清除,绝对不能放任不管。

后面的几点就是针对个人了。想要提高代码质量,对程序员个人的专业素质就要有高的要求。大到模块的划分和实现,小到变量的命名等,都能体现出一个程序员的专业素质。

一、类名函数名变量名有简洁有意义,复杂难懂的地方要给出详细的注释。

二、对代码进行合理的封装和复用。不要有过多的重复代码,也不要过度封装和过度面向对象。如果一部分功能代码出现了第二次,就应该思考可否提取成一个公共的方法。如果出现第三次,就应该警觉了。同时也要多利用数组和链表,不要什么数据都做成对象。

三、严禁太深的嵌套,算法复杂度会较高,同事也严禁过多的if else,这样会使程序员头晕的。

四、对数组下标要小心检查,不要越界。

五、个人要自律要按照大家约定的习惯和代码风格编码。这样有利于代码层面的交流,方面相互复用代码和修改代码。

六、逻辑复杂的地方先画图设计,再编码。

七、控制代码文件的长度。。。太长了只能割了。

八、预见性的编码,考虑更多的输入情况和容错,做到宽进严出。

当然,在提高代码质量的环节里,测试部门是不可或缺的:

一、尽量部署自动化测试,用手动测试去弥补自动化测试的不足。

二、QA应该对每个developer有一张反馈表,记录dev容易犯错或者忽略的地方,定期反馈。

要提高代码质量,团队和个人都需要努力。一旦团队磨合好了之后,代码质量在不断的迭代开发中也能得到保障。但提高代码质量也不是一朝一夕的事情,需要长期实行,定期反馈修正才可以长治久安。

喜欢这篇文章?

欢迎订阅 PureWeber.com - 纯粹互联网。接收免费的更新提醒,以及订阅读者独家优质内容。

加入讨论

电子邮件地址不会被公开。 必填项已用*标注