代码审查的关注点:代码的可读性、代码的简化、代码的可维护性等(https://blog.csdn.net/C343500263/article/details/78930074);
代码的可读性:通过代码可以明确知道要表达的意思,主要问题:魔法数字、过多的嵌套(不超过3层)等;
代码的简化:代码的复用;
代码的可维护性:代码常量以及其他资源或代码的集中使用与管理;
代码审查的过程:审查者通过编写者了解代码,代码审查的人员可以是多个,审查过程可以彼此交换意见相互学习。
代码审查的人数:很多都说2个人审查与多个人审查是没有多大区别的,确实,理想状态下2个人审查每个人发现一半就可以了,但那只是理想状态下,如果代码审查要求较严格,个人建议3人进行代码审查是最为合适的。
代码审查的态度:代码审查不只是为了找出代码中的问题,也应该提出解决问题的原因以及个人方案,在代码审查的过程中也可以是一个成长的过程。
代码审查的心态:学会享受Code Reivew(https://my.oschina.net/u/2947706/blog/779176)。
代码审查的关键:一定一定一定要保持思路清晰,不要被大量的代码迷惑,从而将代码简单的看成了英文字母和符号。
审查过程中遇到的具体的代码问题:
1.代码缺少注释,建议尽可能做到每一个类、每一个方法、每一个变量都有注释(尽管可能过于严苛)。
2.代码注释过于片面,建议添加可以提升代码可读性的注释。
3.尽可能在不影响注释作用的情况下简化注释。
4.注释的作用是为了满足代码的可读性,如果代码的可读性已经得到满足(比如controller使用了swagger,里面的说明涵盖了注释说明),那么注释可以不添加。
5.针对阅读代码的对象选择注释使用的语言。
6.存在中文乱码的现象,建议使用一致的编码格式或修改乱码的部分。
7.注意代码格式,“||”或“&&”在换行时应当置于句首;缩进时一般是4个空格,如果是条件换行缩进则是8个空格。
8.建议规范命名方式,不建议使用当个且与对象无关的字母进行命名。
9.不建议使用过期的方法或静态常量,因为它们已经停止更新,不利于以后的扩展。
10.存在实体类属性过多的现象,当实体类属性过多时,其所关联的表的字段应当也是较多的,这样使用起来效率较低,特别是在查询的时候,建议进行分表,减少单个实体类中的属性以提高使用效率。
11.存在类和方法过于复杂的现象,当一个类或方法的代码量过多时,其是比较复杂的,或者说只有过于复杂的类或变量才会有过多的代码量,这很不利于代码的可读性,出了问题也不方便排查,不利于代码的可维护性,建议对过于复杂的类进行拆分,对过于复杂的方法进行抽取简化以提高代码的可读性和可维护性。
12.代码中存在魔法数字,像这样含义不明的纯数字很不利于代码的可读性,建议通过静态常量或枚举的方式进行使用或者添加注释进行说明。
13.代码中存在大量的字符串,建议通过静态常量或枚举的方式集中起来进行使用,这样既有利于提高代码的可读性,也防止了修改时产生遗漏,提高了代码的可维护性。
14.controller层不建议具有太多的逻辑处理,这样不利于代码的低耦合高内聚,建议将逻辑处理都集中在service中方便controller层的调用。
15.当实体类存在彼此调用的关系时,应当小心在调用tostring方法或进行格式转换时出现循环调用的现象。
16.存在嵌套过深的现象,当嵌套超过3层时将大大降低代码的可读性,建议减少嵌套过深的代码的嵌套层数,或尽可能简化嵌套中的代码。
17.当一个方法参数过多时可以集中在一个对象中进行传递使用(特别时controller层)。
自己也是审查新手,查个眼先,以后觉得差不多了再补上。持续更新ing。。。