如何写出更好的代码:代码一致性的三个层次

Avatar of Jens Oliver Meiert
Jens Oliver Meiert

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费积分!

在撰写关于以用户为中心的网页开发的文章时,我进一步探究了代码一致性这个话题。 一致性是我们需要 编码指南 的关键原因之一,也是 代码质量的因素。 有趣的是,我注意到,一致性有三个层次:个人、集体和机构。

第一层:个人一致性

在基本层面上,当我们的组织缺乏标准化(或者我们只是独自工作)时,一致性仅仅意味着对自己保持一致。 我们始终以相同的方式格式化代码,可以从中获益。

如果我们(我们自己)通常省略属性值周围不需要的引号,正如 此类项目证明的那样,完全有效,那么我们应该始终这样做。 如果我们更喜欢不在 CSS 规则的最后一个声明后面加上分号,那么我们应该永远这样做。 如果我们更喜欢始终使用制表符,那么我们应该始终这样做。

第二层:集体一致性

在下一层级,我们假设代码来自其他开发人员或第三方,一致性意味着遵循我们在接触代码的任何地方使用的代码风格。 我们应该尊重并保持与我们接触的文件中普遍存在的代码风格一致。

当我们帮助我们的同事启动一个网站并调整他们的 CSS 时,我们以他们相同的方式格式化代码。 当我们调整内容管理系统的某些核心文件(如果这样可取)时,我们做他们做的事情。 当我们为某事编写一个新的插件时,我们以其他插件编写的方式编写它。

第三层:机构一致性

最后,通常是在更大的组织中达到的一种层级,一致性意味着遵守(或者首先创建)组织的编码指南和风格指南。 如果指南建立良好且执行良好,这种一致性为影响行为变化提供了最大的力量——个人一致性几乎没有提供这种激励,集体一致性只是暂时性的。

当我们通常用空格缩进,而公司风格指南说要使用制表符时,我们使用制表符。 当我们的同事启动他们的迷你项目,以及在提供帮助时,我们发现他们的代码不符合公司指南,我们花时间重构它。 当我们开始一些新的东西,也许基于一些不同的语言,我们启动一个指南设置和标准化过程。

这些一致性级别并非相互排斥

在我们自己的事务中,我们至少应该努力达到第一层级,但我个人在将自己连接到一些外部第三层级标准方面(我遵循Google 的 HTML/CSS 指南,唯一例外是用制表符而不是空格)并详细定义一些补充的第一层级风格标准(比如预定义的选择器顺序)方面取得了很大的经验。

每当我们与其他开发人员打交道时,但只有在缺乏更广泛标准的情况下,我们至少应该努力达到第二层级的一致性,也就是说,尊重他们的代码。 我们触碰他们领域的东西,我们像他们一样编写它。

当我们身处一个更大的组织中时——尽管“更大”从两个人开始就真的开始了——相同的第二层级一致性理念依然有效,但我们现在可以考虑建立标准以在第三层级上运作。 在那里,我们甚至可以将这两个层级结合起来:遵循编码指南,但当我们触碰违反指南的内容,并且没有时间重新格式化它时,我们遵循该代码中普遍存在的风格。

根据我的经验,仅仅意识到这些层级本身就能极大地帮助我们编写更一致,因此也更好的代码。

如果您想了解更多关于编码标准的信息,请查看关于该主题的其他 CSS-Tricks 帖子,如果您想阅读关于它们的一个简短的,非常简短的读物,也许还可以看看HTML/CSS 编码指南小册子