国内对codereview还处于很初级的认识,集中在三点:
1. 因为协作少,架构意识缺乏,对cr还停留在检查初级bug的观点,没意识到cr实际上是为了在不同人员的交流中进一步完善优化产品代码架构,也是为了减少无效交流,提高沟通效率的做法。
2. 很热衷"自动检查错误",实际上这要求太低了。**对设计和架构上的检查和思考**,才是CR真正目的,而国内考虑太少。cr核心不是发现bug(这应该靠单元测试),而是提出"这样做技术上没错,但是思路和扩展性上存在问题"这些。例如hard coded的内容,随意添加并不真正必要参数,或者不使用已有的功能而去自行写一个之类的。
3. CR+Unit Test才是最终目的,单独的CR有助于思考交流,然而对产品质量的直接帮助并不是很大(cr如果经常在某人代码发现bug,最好是把提交者开掉)。所以把CR和软件产品质量放在一起并不是很妥,但国内基本难以推行unit test,有点无解。