前面,我们介绍了四条半编程规范和知识体系构建策略,你如果拆开其中任何一条约定,会发现都很简单直白,但尝试实施过的团队,都清楚形成有效的代码审核机制是多么不容易的一件事情。
我曾经帮助过一些团队训练的代码审核机制,最大的体会是:代码审核是一项技能,而非简单的知识。
游泳需要的知识点很少,顶多一个小时就可以学完。但即使你清楚手脚呼吸如何配合,进入水里也会立马慌神,因此游泳实际上是一项技能,除了练习别无他法。同理,代码审核机制也是一项技能,你即使记住了一堆编码约定,但接触真实代码很快就歇菜了。
诸多编程规范约定仅仅是知识点,而代码审核机制是技能。技能最佳学习的姿势是立马行动起来,学游泳要先下水,学习代码审核要先让代码流动起来。大家只有行动起来,才能发现变量仅仅有注释是不够的,英文标志符难以识别,并不等于汉字注释就一定容易理解,只有使用大家的共识词汇别人才能读懂;大家只有行动起来,才能发现使用共识词汇的注释是不够的,只有将多个分散标志符背后的数据结构描述清楚才行;……,只有经历过无数次的迭代磨合,你写的注释才能成为我也容易看得懂的注释。
我在咨询活动中发现,一开始太多的知识点反而会影响行动力,因此,这也是我们将无数的编程规范努力压缩到为四条半的原因。而且,大家不要受限或迷信于任何已有的编程规范,包括本章内容。嵌入式产品种类繁多,每个团队都有自己的特征,只有在你反复代码审核行动中长出来的编程规范,才是最好的约定。
习得代码审核技能,过程是痛苦的,但当我们稍微坚持一段时间,熬过了那个临界点,立马就是海阔天空般的舒爽。我记得当年自己学游泳时,折腾了很久也没学会,都想放弃了。一次随意的动作后,我换出了第一口气,然后很快就可以享受水中的惬意。同理,当我费尽心血,终于发现别人写出的代码和自己的似曾相识时,整个团队成员都成了我的左膀右臂。此时,我的工作模式会自然的发生变化,一款新产品,完成架构设计和模块提炼后,很多繁琐的细节工作就可以交给其他人了,而且还和自己亲力亲为的效果差不多。不仅工作模式变了,关键是能节约很多时间,别人一周的程序我半天就能审核完毕,自己不再被牢牢的锁在具体的产品细节中,有时间去学习提升,去看看外面的世界。
随着审核机制的推行,我们会发现不仅代码可以审核,文档,工作流程等都可以审核,好似流水线般,一行行的代码、一份份的文档、一条条的经验,自由流动并最终汇聚成各种优秀的产品和服务。连续的单件流模式一旦形成,我们就似乎有了上帝之眼,会自然的发现哪儿存在浪费,哪儿工作负荷不均。为了解决这些问题,提炼接口、复用、工作标准化等无数的策略会自然而然衍生出来。看到——快速入职——审核与团队——接口抽象——可复用架构——质量和团队,这个过程持续迭代下去,你甚至可能会长成你曾经仰视的样子。
朋友们,你无论如何都要迈过这一步。
——————————————
我是小马儿,一个渴望良知与灵魂的嵌入式软件工程师,欢迎您的陪伴与同行,如需最新版PDF电子书,或期望深入交流,可加我个人微信nzn_xiaomaer,需备注“异维”二字。