你曾经担任的角色是 CodeReviewer 还是 被 CodeReviewer ?
偶尔会参与其他开发小组的CodeReview,也略有体会,主要如下:
代码规范需要时刻灌输在参与别人的CodeReview时,经常会发现依然有部分同学出离公司的代码规范比较远,比如命名规范,一些代码的标准写法都相差较大,导致同一个项目代码阅读起来风格会很不统一,需要重新进行代码规范的校准。实际在开发同学入职前期就应该培养好统一风格。 代码规范需要保持更新确实一些新的版本带来的代码特性,需要实时更新代码规范,比如JDK8之后的lambda表达式,一些流式处理的写法,部分同学尝鲜进行了编写,但大部分同学还没完全统一,导致代码交接后存在阅读困难。需要在新版本新特性发出时,甄别是否是公司所需,然后根据实际进行知识培训,并吸纳到代码规范里去。配套最佳代码实践部分同学由于缺乏对API深入的理解或经历尚浅,比较容易CP代码而不辨别其好坏就进行使用,往往也会导致CodeReview中跳过该部分代码(因为是祖传)的。反而不能因为不是新增的而跳过该部分的代码检查。“出错的地方往往是你熟悉的部分”,这是从坑里爬出来的教训。配套一些最佳业务代码实践,常进行更新和灌输,对开发同学本身及减轻CodeReview发现的问题也大有脾益。配套自动化检查工具一些明显的代码问题,实际自动化检查工具是能发现的,比如常见的NPE错误写法,在方法里面手动创建线程池,资源使用后不释放。 对于小团队开发者,还是要寻找这样的代码检查工具,在提交前要求把检查到的错误都进行确认和排除。
CodeReview是最后的一项保障,作为代码作者,我们也要有作品的思维,这是代表自身职业素养和能力的展示,需要重视以及尊重给你CodeReview的人,虚心接受他人意见,同时也要坚持自己觉得正确的内容,在辨证中寻求正确的答案。
赞4
踩0