如何做有效的代码复查

北大青鸟大学城校区logo 北大青鸟大学城校区
招生简章校园环境师资力量就业明星招生问答软件工程师北京大学学历学员项目联系我们 报名通道

免费在线咨询通道>>

免费在线报名通道>>

北大青鸟报名电话
当前位置:北大青鸟 > 北大青鸟程序人生 >

如何做有效的代码复查

标签:   分类:北大青鸟程序人生

“用户是最好的测试人员.别扭心—如果哪里出错了,他们会告诉我们的。”

代码刚刚完成时,是寻找问题的最佳时机。如果放任不管,它也不会变得更好。代码复查和缺陷移除

要寻找深藏不露的程序bug,正式地连行代码检查,其效果是任何已知形式测试的两倍,而且是移粗除80%缺陷镌唯一已知方法,

—capers Jones 的《诺算软件成本》

正如capers Jones指出的,代码复查或许是找到并解决问题的最佳方式。然而,有时很难说服管理层和开发人员使用它来完成开发工作。

管理层担心进行代码复查所耗费的时间。他们不希望团队停止编码,而去参加长时间的代码复查会议。开发人员对代码复查感到担心,允许别人看他们的代码,会让他们有受威胁的感觉。这影响了他们的自尊心。他们担心在情感上受到打击。

作者参与过的项目中,只要实施了代码复查,其成果都是非常显著的。

venkat最近参与了一个日程安排非常紧凑的项目,团队不少成员都是没有多少经验的开发者。通过严格的代码复查过程.他们可以提交质量极高而且稳定的代码。当开发人员完成某项任务的编码和测试后,在签入源代码控制系统之前,会有另一名开发人员对代码做彻底的复查。

这个过程修复了很多问题。噢,代码复查不只针对初级开发者编写的代码—一团队中缸十开发人员的代码都应该进行复查,无论其经验丰富与否。

那该如何进行代码复查呢?可以从下面这些不同的基本方式中进行选择。通宵复查。可以将整个团队召集在一起,预定好美食,每个月进行一次“恐怖的代码复查之夜”。但这可能不是进行代码复查最有效的方式(而且听起来也不太敏捷)。大规模团队的复查会议很容易陷入无休止的讨论之中。大范围的复查不仅没有必要,而且有可能对整个流程造成损害。我们不建议这种方式。

捡拾游戏。当某些代码编写完成、通过编译、完成测试,并已经准备签入时,其他开发人员就可以“捡拾”起这些代码开始复查。类似的“提交复查”是一种快速而非正式的方式,保证代码在提交之前是可以被接受的。为了消除行为上的惯性,要在开发人员之间进行轮换。比如,如果Joey的代码上次是由Jane复查的,这次不妨让Mark.'彩复查。这是一种很有效的技术。

结对编程,在极限编程中,不存在一个人独立进行编码的情况。编程总是成对进行的:一个人在键盘旁边(担任司机的角色),另一个人坐在后面担任导航员。他们会不时变换角色。有第二双眼睛在旁边盯着,就像是在进行持续的代码复查活动,也就不必安排单独的特定复查时间了。

在代码复查中要看什么呢?你可能会制订出要检查的一些特定问题列表(所有的异常处理程序不允许空,所有的数据库调用都要在包的事务中进行.等等),不过这里是一个可供启动的最基本的检查列表。

代码能否被读懂和理解?

是否有任何明显的错误?

代码是否会对应用的其他部分产生不良影响?

是否存在重复的代码(在复查的这部分代码中,或是在系统的其他部分代码)?是否存在可以改进或重构的部分?

此外,还可以考虑使用诸如SimilarityAnalyzer或JesterS,这样的代码分析工具。如果这些工具产生的静态分析结果对项目有帮助,就把它们集成到持续构建中去吧。

复查所有的代码。对于提升代码质量和降低错误率来说,代码复查是无价之宝。如果以正确的方式进行,复查可以产生非常实用而高效的成果.要让不同的开发人员在每个任务完成后复查代码.

切身感受

代码复查随着开发活动持续进行.而且每次针对的代码量相对较少。感觉复查活动就像是项目正在进行的一部分,而不是一种令人畏惧的事情。

平衡的艺术

不进行思考、类似于橡皮图章一样的代码复查没有任何价值。

代码复查需要积极评估代码的设计和清晰程度.而不只是考量变量名和代码格式是否符合组织的标准。

同样的功能.不同开发人员的代码实现可能不同。差异并不意味着不好。除非你可以让某段代码明确变得更好,否则不要随意批评别人的代码。

如果不及时跟进讨论中给出的建议,代码复查是没有实际价值的。可以安排跟进会议,或者使用代码标记系统,来标识需要完成的工作,跟踪已经处理完的部分。

要确保代码复查参与人员得到每次复查活动的反馈。作为结果,要让每个人知道复查完成后所采取的行动。

若有疑问请拨打北大青鸟咨询热线:010-80146691或点击免费在线咨询!
  • xml地图 网站地图 招生简章 合作企业 学员项目 联系我们
  • 关闭窗口