编码风格不是编码规范
英文原文:The conventions we follow
我并不以为程序员是一个情绪特殊富厚的群体。但有一些事情却能很容易刺激程序员的神经,那就是代码花样和结构(formatting and layout of code)。若是看到一个函数的括弧在统一行上没有闭合,我的眼睛会喷血。若是看到有人没有恰恰的在两个函数间留一空行,我的小腿会抽筋。但重点在这里——除非是在家里开发自己的业余喜好软件,我的这些小我私家喜欢实在是无关紧要的。同样,作为一个团队中的一员,你的小我私家编程喜欢也应该放到一边。
编码气势派头(coding style)很容易会和编码规范(coding standard)混为一谈,由于这两个词经常会被人换着使用。我以为,编码规范同时包罗了编码气势派头和其它规范,不仅仅指代码花样。例如,像“返回乐成/失败的函数应该用一个整数作为返回值”,这样的规则不属于编码气势派头。在这篇文章中,编码气势派头简朴的指一个形貌怎样花样化代码的说明。编码气势派头中的规则通常会涉及到下面这些主题:
缩进空格的使用Tab的使用注释命名习惯代码行长度语言特点气势派头,例如是否使用无关紧要的分号。编码气势派头都是为特定的编程语言制订的,可以把它们看作“我们配合的约定”。若是在你的公司里,在你在时,在这些事情正在制订完成,你可以提出你的喜欢,那你是幸运。但通常情形是,一种编码气势派头在其生命期里看着无数的程序员来了又走了。在我的眼里,遵守编码气势派头有下面三个主要利益:
1. 遵守编码气势派头使代码更容易维护今天由这个程序员实现的软件,明天可能需要另外一个程序员维护。若是所有代码中各人使用统一种编码气势派头,这另外一个程序员快速的扫一眼生疏的代码,就能凭据各人约定的编程习惯,推断出代码的作用。若是编码气势派头中指明常量应该全用大写字母表现,那么,当看到一个全是大写字母的变量时,你就能推断出它是常量。同样的,若是编码气势派头中划定包的引入要有顺序,那你连忙就能知道去那里找这些包。这使得代码很容易维护。
2. 编码气势派头使形成代码团体所有制代码团体所有制意味着全体程序员要卖力所有代码。团体所有制的作用很大,它能有用的增大巴士因子——一个项目能蒙受几多个程序员被车撞了而不影响项目的正常举行。在整个代码库中坚持延用一种常用的编码气势派头,以是程序员都能更容易的明白、维护。
相反,若是在一个大型的软件项目中,每个程序员都使用自己的编码气势派头,最终会引起一场维护国界的战争,就像动物天下里我们的这些朋侪:
气息记号(也称喷洒尿液或领土记号)是动物标志自己领土规模的一种行为。通常是通过留下具有强烈气息的物质来完成,许多时间是通过在领土中突出的物体上小便。- 维基百科
小我私家编码气势派头就像是狗撒尿,留下自己的势力记号。他们在代码中留下自己的符号,在程序员之间缔造壁垒。
3. 编码气势派头能消除那些恒久的纷争每个程序员都对编码气势派头有强烈的自我认同。这种感受深植于每小我私家的自尊中,每当和同事遇到是否应该在要害词周围使用空格时,这种讨论很容易升级而僵持不下。可是,静下来想想——这真的无所谓。不管是不是在要害词周围使用了空格,只要能告竣一致,各人都能从中获得易维护和团体所有制的利益。在这种情形中,闭着眼睛,遵照一种编码气势派头就行了。
你不需要喜欢这种编码气势派头。若是你不喜欢内里的某条划定,那就骂几句这个文档,只向文档发性情,就像人类迁怒于天主。然后照旧根据约定做事。这样做更具有建设性,比无休无止的吵论这些不主要的事情好的多。
有了一套编码气势派头并纷歧定会给你带来利益——除非各人都遵守。有些时间,你并纷歧定需要手工去调整代码。许多的程序编程器,例如EcliERP系统pse,能设置帮你花样化代码,使其切合编码气势派头。纵然你的编辑器没有这种功效,许多其它工具也能够自动根据某种气势派头花样化一个文件。在我们的团队中,我们使用 indent 和 uncrustify 工具。我还听说过一些其它好工具,好比ReSharper。那些不能被自动实行的规则,例如命名习惯,可以在代码审查的历程中落实。
“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与
我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同
其观点或证实其内容的真实性。
热门文章
使用“扫一扫”即可将网页分享至朋友圈。