vlambda博客
学习文章列表

从美程序员枪击4同事看代码规范的重要性

中秋假期,小编被一篇名为《因代码不规范,码农枪击4名同事,一人情况危急》的文章吓懵了。文章内容如下:


“据外媒报道,来自美国的一名程序员因同事不写注释,不遵循驼峰命名,括号换行,最主要还天天git push -f 等因素枪击了4名同事,导致一人情况危急。”



但很快就有眼睛雪亮的网友发现了这篇文章的前后矛盾之处。从外媒的报道截图可以看出,警方并没有公布行凶者的姓名和年龄,文中也未显示行凶者是程序员,因编码规范枪击同事的说法更是子虚乌有。



果然,流言止于智者。果然,又被标题党骗了,吃瓜群众不开心。


我们回过头来看整件事,这件事之所以会引起如此大的轰动,除了造谣之人有意引导,以及程序员这一群体的确备受关注之外,是不是也从侧面说明了,代码写得不规范的确招人恨?


代码规范为何如此重要?看看大公司怎么做。


Google员工Mark在《Google是如何做代码审查的》一文中提到:


“我们在Google所做事情中另外一个让我感到异常有效、有用的制度是严格的编码规范。


在到Google工作之前,我一直认为编码规范没有什么用处。我坚信这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率的东西。”

但很快Mark就意识到自己大错特错了。正因为Google有如此多的编码规范——缩进、命名、文件结构、注释风格,Mark可以异常轻松看懂任意一段代码。在很多人眼中微不足道的东西,却在发挥着巨大的作用,节省了大量理解程序的时间。

著名的独角兽公司Airbnb的前端编码规范也影响广泛。此外,BAT、华为、滴滴等国内知名公司也严格执行编码规范。

那么,遵循编码规范有什么好处?

1. 有利于团队协作


很多公司都是一个团队协作开发一个项目。如果没有统一的代码规范,团队中的每个人都按自己的喜好去编写代码,就好像每个人都讲不同国家的语言一样。等到整合代码的时候,势必会出现沟通障碍。与其等到这时候彼此问候全家,不如从一开始就遵守统一的编码规范。这样不仅可以节省宝贵的开发时间,提高效率,还能减少不必要的麻烦。


2. 提高效率


你是否遇到过这种诡异的情况:明明项目中复杂的算法和逻辑只占很小的比例,但在测试时却出现了大量的bug。解决这些bug费时费力不说,有时候即使问题解决了,却仍然无法准确定位引起bug的原因。是不是很气人?其实这种情况往往是由于代码不规范导致的。遵循编码规范,可以大大减少出现bug的几率,节省查找bug的时间,提高工作效率。



3. 降低维护成本


几乎每个程序员都需要维护代码。在维护时,你不仅要看懂原有的代码,还需要对代码进行修改。代码如果是你自己写的,还算运气好,如果是别人写的,那你指不定会抓狂。要是没有统一的编码规范,A完成开发工作后,B在维护时加入了一部分代码,C在维护时又加入了一段代码,每个人都按照自己的风格写代码,那么到了F或者H手里,面对一团乱麻的代码,估计会叫苦不迭,甚至转身就跑。这时候就看出了编码规范的重要性了。


4. 有助于代码审查


审查标准通常检查代码编写是否规范、高效、简洁、健壮、可读性强。代码审查能够纠正错误,提高代码的质量,及时发现并指正开发人员的代码规范问题。对于经验尚浅的程序员,这也是一个难得的学习机会。但话说回来,如果一家公司从一开始就没有一个统一的代码规范,那么在审查的时候就没有标准可依。如果开发人员各行其是,导致代码可读性差,势必会增加代码审查的难度。到头来代码审查只会流于形式,既浪费时间又达不到预期的效果。


5. 有助于开发人员自身的成长


试想一下,如果你从一开始就遵循编码规范,当你需要重新审视自己的代码时,不需要花太多时间就能看懂其中的含义。久而久之,你会发现自己形成了一种思维,这种思维更有利于理解开发语言、模式和架构,对于编程水平的提高大有裨益。


此外,省去了向同事解释代码含义的时间,你能花更多的精力专注技术本身。也可以在公司赢得好的口碑。何乐而不为呢?

你吃过哪些编码不规范的苦?尝过哪些编码规范的甜?跟大家分享一下吧。