个人认为几个最常用的、最重要的评价标准是:可读性
、可维护性
、可测试性
、可复用性
、可扩展性或灵活性
、简洁性
。
1. 可读性
是否符合编码规范、命名是否达意、注释是否详尽、模块是否划分清晰、是否符合高内聚低耦合。个人认为前两项必须达到,第三项根据项目工期可做适当妥协,第四、五项和水平强相关,尽力而为。
2. 可维护性
很难从正面直接去量化一个代码的可维护性,通常我们可以从侧面比较主观去给出评价。如果 bug 容易修复,修改、添加功能能够轻松完成,那我们就可以主观地认为代码对我们来说易维护。
3. 可测试性
如果一段代码比较难进行单元测试,可测试性就比较差,那基本代码设计上就存在一些问题。
4. 可复用性
设计原则中有一项叫DRY(Don’t Repeat Yourself)原则
与其紧密相关,就是说要尽量减少重复代码的编写,复用已有的代码。
5. 可扩展性或灵活性
设计原则中有一项叫开闭原则
,即对扩展开放,对修改关闭
,就是说我们在不修改或少量修改原有代码的情况下,就可以添加新特性或者改变原有功能的某些行为。
6. 简洁性
设计原则中有一项叫KISS(Keep It Simple,Stupid)原则
与其紧密相关,就是说尽量保持代码简单、逻辑清晰。正所谓“真传一句话,假传万卷书”,跟道家的大道至简差不多一个意思。
总结
上面的6个维度指标,个人认为最最重要的就是可读性,而可读性中的前两项也是团队中最最容易抓的方面,若能坚持执行下去,整个团队形成统一的代码风格,code review将会事半功倍。