如何提高/保证代码品质——CodeReview实践
在C项目中做CR的一些体会,メモ如下。
1、 编码开始前做サンプル。
在目前的条件下,为了让全员统一编码认识,以及提高新手的生产力,花费时间做一个サンプル是很有必要的。
以前的误区是,做サンプル要花费时间,不如让大家提前进入编码。C项目证明,在很多人还不知道如何进行编码的前提下,提前进入编码于事无补。那么做サンプル的时间从什么地方出?当然是在进入编码之前,详细设计阶段。所以问题是,详细设计都没有定下来,如何做出一个有效的サンプル呢?譬如可以,首先做出一部分的详细设计,然后发送给客户确认,这种办法进行。
2、编码中持续不断地做自查チェックリスト。
无数实践证明,任何一个项目都需要一个自查チェックリスト,把需要统一认识的地方写进去。另外,考虑到还需要一个编码规约,为了节省管理成本,可以把编码规约和自查チェックリスト做到一起。
自查チェックリスト是需要不断集成的,譬如在CR的时候发现的问题,及时记入自查チェックリスト,并且让全员周知。另外,最有效的通知全员的办法是开一个小型会议。以前感觉开会是比较浪费时间的,但是实践证明,开会是统一认识的最好办法。
3、Review每个人的部分重点代码。
在review资源不足的情况下(经常),比较让不熟悉、水平不足的员工来review,或者互相review的办法来看,由一个水平较高的员工来review每个人的重点部分代码的效果比较好。
另外,比较填写CRリスト而言,更有效的review手法是把代码黏贴到excel中,然后使用memo的形式标记出问题点。之后,员工在修改问题点的时候,将问题点总结到CRリスト里面。这种方式表示的更直观,传达的信息也更有效。
最后不要忘记把CRリスト中的共通问题及时总结到自查チェックリスト中,在项目会议上及时公布。