我是如何做代码评审之必杀技1:搜索大法
大家好!我是老码农。
《码农说》公众号的第6篇文章来袭,最近分享的话题比较凌乱,稍后我会再重新梳理,按主题成系列分享。
对话:代码评审
王小二:代码评审重要吗?
张小五:重要啊?
王小二:你们团队做代码评审吗?
张小五:想做,可没时间做啊?每天忙得要死,真没时间啊。
王小二:你感觉团队代码质量高吗?
张小五:高个头啊,到处硬编码,日志打的一塌糊涂,到处造轮子,一想就头疼。。。
王小二:都是代码评审惹的祸。。。
代码评审重要性
明知代码评审重要性高,可我们往往因为忙碌漏掉了最重要的工作。
第一点:代码评审是提升代码质量最重要的方法;
第二点:代码评审有效传递知识,提升团队整体技术能力、业务理解能力最重要的方法。
代码评审是个很系统的工程
代码评审不是简单几个人坐在会议室中,抽一个业务进行代码评审这么简单的事。
- 团队对代码评审重要性认知?
- 团队代码评审的流程?
- 如何评价代码的好坏?
- 代码评审注意事项?
- 是否在有效进行代码评审?
- 如何提高代码评审的效率?
- 。。。
这些问题都需要评估,日常需要对代码评审不断进行迭代,才能取得好效果。
这些话题后面会逐一展开与大家分享,期待与大家有更深入的交流和碰撞。
先分享必杀技1:搜索大法
最早在外企工作的时候,团队有一个非常好的习惯,这么多年下来我一直在团队中沿用。
措施:发现一个bug,会对bug进行分析,确认该bug是否在其他模块中可能有,如果判断可能有,我们会全代码扫描,然后梳理出来,逐一确认,是bug就赶紧修改,不是呢,标记下就行了。
好处:一个共性bug把相关可能的bug统一修改,连根拔出,有的时候一个动作就能搞定N个bug
- 代码的质量加固;
- 研发效率提升了,不用测试团队提N个bug了,减少跨团队交流、对应。
问题:其实部分共性bug发现并没有那么难,很多基于经验就能判断出来。
主要看如何推动团队去做这件事,不做团队效率差,会产生很多无畏的加班。
接下来,谈谈搜索大法,其实很简单:
- 第一步:全代码搜索重要关键词;
- 第二步:然后梳理是否可能会有问题;
- 第三步:让开发人员展开修改、测试即可;
那都搜索哪些关键字呢。我简单分享写,后面大家可以根据自己的项目情况提炼容易出问题的地方。
- 是否含有
System.out.print
语句; - 是否含有
e.printStackTrace()
语句; - 是否含有
double
、float
变量; - 控制层是否加权限注解;
- 日志的级别是否打对;
- 日期的格式化是否对,比如正确的是:yyyyMM,如果写成:yyyymm,就错了;
- 字符串判断是否使用函数;
- 字符串判断是否把常量放在前面;
- 字符串是否大量使用
+
连接; - HashMap是否初始化size;
- 代码中是否有硬编码?
- 。。。
还有很多关键词,大家可以根据自己项目情况整理出来,然后全代码扫描下。
记住一点:代码评审是为了提前发现问题,不要把问题交给测试团队去发现,那会导致整个团队研发效率的急剧下降。
做最好的自己,才能做出最好的团队。
我是老码农
大家好!我是老码农。今天就分享到这里。
关注《码农说》,期待用不同的视角与大家进行深入的交流,一同学习技术,提升研发效能,共同高速成长。