为什么要code review.如何review code.

你是否有过这样的感觉,每次看自己以前的代码都是感叹”what the hell was i thinking?!”,如何才能避免这种糟糕的感受,如何对自己的代码充满信心和自豪感…

为什么要code view?

1:通过code review可以快速提高自己.

你是否有过这样的感觉,每次看自己以前的代码都是感叹”what the hell was i thinking?!”

111

如何才能避免这种糟糕的感受,如何对自己的代码充满信心和自豪感,那必须是提高自己的coding水平,提高自己的代码质量.提高自己的方式无非是两种,通过自己写代码(直接经验),通过学习别人的代码(间接经验),自己写代码比较容易实现,对着计算机坚持着写下去就是了,可是看到一个完整工程的全部代码,伴随着一个工程的发展,自己也一步步成长起来的机会非常的少也非常的难得.通过code review你可以学习别的同学的各种经验,其它同学可以帮你找出你的不足帮助你提高.这比一个人看书思考获取经验值的速度要快的多.
而且现在是协作的社会,单打独斗的时代过去了,学会与人沟通,协同工作,是非常的重要.

2:通过code review可以在团队内传播知识

如果团队的每个个体都成长了,那么团队就成长了.大家互相学习彼此的代码,同时帮助彼此找出问题和不足,帮助彼此提高.从此进入良性循环.(live happily ever after~)

giphy

3:生产高质量代码,提高开发效率,降低风险

在这个良性循环中,项目的代码质量就很高,出现莫名其妙的bug的机率大大降低,也可以帮助提高需求完成的速度.出现天书一样难懂的代码的机率就可以避免.即便项目的成员发生了变化,新同学可以快速的熟悉接手代码.这样就很大程度的提高了开发效率,降低了项目出现危机的机率.

如何code review?

1:注释要清晰明了.(帮助别人看懂你的代码)
2:尽量避免使用超大文件.(单一责任原则)
3:避免使用超大函数.(函数功能要单一,最好控制在200行内.使用guard,错误处理ErrorType,避免大量if – else嵌套)
4:代码格式.(变量,函数,类等的书写规范)
6:不要写重复的代码.
7:不要留着没有实现的函数,删掉自动生成的没有用到的代码,不要出现大量注释掉的代码.
8:代码组织结构是否合理(MVC,MVVM,VIPER等)
9:依赖注入,降低耦合
9.1:便于更换第三方框架(iOS每次版本升级后,总有一些很火的开源项目停止开发了,这个时候你有一种可能是要使用别的开源项目代替它,如果你对开源代码的依赖性过高,一些模块很可能要重写了,那么你以后会非常恐惧WWDC…相信我)
9.2:便于测试(请一定要给自己的代码写单元测试,原因太多,可以写篇文章了….)

一些更重要的事情:

1:要和善,要有耐心,特别是对待组内新同学,”help me, help you.”
2:从code review中学习各种知识技能,而不是不断的职责别人.
3:重构.领导要求在极短的时间完成需求,无法产出高质量代码的情况时有发生.这个时候要和领导沟通好,现实功能后要留出时间重构代码,重新生产出高质量的代码.不要打破好习惯,不要给以后埋坑,不要给被人埋坑.

giphy

参考文献:

Code Review: The art of writing code for others

What is quality code?

The Code Review Mindset

Why I ? Code Reviews