Code Review(代码审查)-推荐

来源:互联网 时间:2017-01-21


Code Review是什么?


Code Review是一种用来确认方案设计和代码实现的质量保证机制,通过这个机制我们可以对代码、测试过程和注释进行检查。


Code Review主要用来在软件工程过程中改进代码质量,通过Code Review可以达到, 在项目早期就能够发现代码中的BUG。


Code Review 主要 Revivew 什么?

代码设计/构思:

1、单一职责原则(SRP)

这是经常被违背的原则。一个类只能干一个事情 , 一个方法最好也只干一件事情。 比较常见的违背是一个类既干 UI 的事情,又干逻辑的事情 , 这个在低质量的客户端代码里很常见。

2、行为是否统一


1、比如缓存是否统一,错误处理是否统一, 错误提示是否统一, 弹出框是否统一 等等。


2、同一逻辑 / 同一行为 有没有走同一 Code Path?


3、代码污染

代码有没有对其他模块强耦合 ?

4、重复代码

主要看有没有把公用组件,可复用的代码,函数抽取出来。

5、开放封闭原则(OCP)

就是好不好扩展。 Open for extension, closed for modification.

6、接口隔离原则(ISP)

使用多个隔离的接口,比使用单个接口要好。

7、面向接口编程 和 不是 面向实现编程

主要就是看有没有进行合适的抽象, 把一些行为抽象为接口。

8、健壮性


1、对 Corner case 有没有考虑完整,逻辑是否健壮?有没有潜在的 bug?


2、有没有内存泄漏?有没有循环依赖 ?(针对特定语言,比如 Objective-C) ?有没有野指针?


3、有没有考虑线程安全性, 数据访问的一致性


9、错误处理

有没有很好的 Error Handling?比如网络出错,IO 出错。

10、改动是不是对代码的提升

新的改动是让代码质量继续恶化,还是对代码质量做了修复?

11、效率 / 性能


1、客户端程序 对频繁消息 和较大数据等耗时操作是否处理得当。


2、关键算法的时间复杂度多少?有没有可能有潜在的性能瓶颈。


如何进行Code Review?


1、多问问题。多问 “这块儿是怎么工作的?” “如果有 XXX case,你这个怎么处理?”


2、每次提交的代码不要太多,最好不要超过 1000 行,否则 review 起来效率会非常低。


3、当面讨论代替 Comments。 大部分情况下小组内的同事是坐在一起的,face to face 的 code review 是非常有效的。


4、区分重点,不要舍本逐末。 优先抓住设计,可读性,健壮性等重点问题。


Code Review应该注意什么?


1、代码审查是一种学习,是表扬,是获得反馈,是一种十分社交性的活动。代码审查应该是有趣的,不要让它变的无聊。


2、代码审查是针对代码,不是针对你。不要把代码审查当成互相讽刺的论坛和相互批判的工具。当你写审查注释时,努力保持不要粗鲁,也不要太苛刻。努力站在作者的立场上看待这些代码。





相关阅读:
Top