一、 引言
谷歌发布的代码规范中指出,80% 的缺失是由 20% 的代码所引起的。规范的代码可以消除过于强烈的个人风格,有助于代码在项目间高效的流转;提升代码的正确性,降低低级问题产生的可能性;同时也降低了项目的维护成本。良好的编码习惯,可以促进团队的合作,可以减少莫名的bug,可以降低代码维护的成本,可以降低代码审查的难度,可以提升代码的健壮性,助力整个团队代码品质的提升。但相当多团队的代码规范只是一份文档,原因在哪里呢?通过一些研发人员的调研,得到图1的数据。 图1 代码规范落地难原因调查 1、不想改占比69.77%,主要原因为:
● 人工review代码太浪费时间,项目太赶,没时间。
● 我也知道这么写不好,可既有代码就是这么写的,只改一处也没用。
● 有些规范也很差,还不如我写的规范。
● 不能全盘进行代码规范的落地,都是暂时性工作,没啥效果。
2、不愿改占比18.60%,主要原因为:
● 代码规范就是浪费时间,没用。
3、不会改占比11.63%,主要原因为:
● 实现不太好,缺乏指引。
纵观以上数据发现代码规范的落地的确是一个复杂的问题,既有组织层面上对代码规范重要性、必要性、一致性认知的缺失,也有缺乏高效可落地的检测工具,另外对新人组织宣贯的缺失也是问题。那就需要从组织层面、工具层面、培训层面抽丝剥茧的来逐层将问题个个击破,确保规范的有效,准确落地执行。 二、 代码规范落地实践 2.1. 组织建设 为保证规范落地的准确性和有效性,建议以图2 组织形式组织角色。 图2组织角色及职责 ● 技术委员会,建议系统架构师,技术带头人,技术经理参与,负责规范、规则梳理、评审、引入已经新增规范的代码编写。是规则的制定者、是仲裁。
● 执行小