最近公司 CR(code review,代码评审)越来越严,这是非常正确的决定,我非常支持。过往,CR 就是一种「形式」,很少有人重视,代码质量太差,导致业务迭代速度大打折扣,甚至有些业务都不知道如何下手。
尤其对于校招生或者工作经验比较少的同学,如果没有严格的 CR,这必将会对整个项目产生灾难性的毁灭。出现这个情况我认为有以下几个原因:
1、能力问题,这个无法避免,校招生或工作经验比较少的同学考虑的问题并不全面,大多数都是为了完成「某一次」需求,而不是「系统」解决一个项目问题;
2、团队管理问题,管理层不够重视代码质量,比较重视业务;
3、团队成长问题,团队内部肯定会出现新鲜的血液,要有一种机制能够让这些人与团队最优秀的人一起成长。
解决这个问题,使用 CR 能起到一个立竿见影的效果。那么站在个人的角度,如何才能让自己写出一流的代码呢?
最近从林斌的「写好代码的十个秘诀」中得到了启发,我时刻用这 7 条规则来约束我,写完代码后至少会进行一次重构,而且在写的过程中要最大可能满足这 7条准则:
1、鲁棒
这条准则能有效提高你对代码的异常处理的能力,当数据发生异常时,软件不至于瘫痪,比如 app 的 crash,网页的白屏;
2、简洁
写代码要简单明了,用最少的代码表达最多的业务需求,这需要深入掌握一门编程语言,编程语言提供了很多特性,如果你不了解这些特性,会让你写更多的代码,其实一句话就能搞定;
3、高效
代码执行的越少越好,比如有些代码在某些条件下才执行,要把它的实现放到条件内。还有就是代码存在严重性能问题,比如嵌套 3 层以上的循环语句;
4、简短
尤其是变量或函数的命名,要尽量做到恰到好处,这个可以参考开源代码,学习一下英语单词;
5、共享
要提供「系统解决问题」的思路,而不是为了完成「这次需求」,尽可能地让别人复用你的代码;
6、可测试
与业务不要强耦合,最近看 Vue 的代码,每一个模块都写了测试用例,这很棒;
7、可移植
这个其实我们接触的比较少,如何能够让你的代码在其它平台上正常执行,或者改动很小就可以在其它平台运行。比如让你的代码在 Node 和浏览器都可以正常执行,让你的代码可以在 Mac 和 iOS 都可以正常执行。
以上是我对这 7 条准则的思考,后面也会不断实践,希望自己能写出一流的代码。我找了林斌关于写好代码的十个秘诀 PPT(可在公众号素燕中回复:cr 即可获取),这十个秘诀如下:
长按关注
素燕《前端小课》
帮助 10W 人入门并进阶前端
官网:https://lefex.gitee.io/