Code Review(代码审查)-推荐

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.关键算法的时间复杂度多少?有没有可能有潜在的性能瓶颈。

12、可读性 / 可维护性

1.字段、变量、参数、方法、类的命名是否合理。

2.字段、变量、参数、方法、类的注释是否完整。


如何进行Code Review?

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

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

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

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

Code Review应该注意什么?

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

2.作为开发人员:代码审查是针对代码,不是针对你。不要把代码审查当成互相讽刺的论坛和相互批判的工具。反而,代码审查是提高你的一种路径。

你可能感兴趣的:(Code Review(代码审查)-推荐)