知识卡片
遵循编码约定的价值不在于约定本身对错,而在于降低理解和协作成本
内容
代码和文档如何组织、注释如何编写、编码风格如何统一,这些”约定”对代码未来的维护至关重要,但选择遵循哪种具体约定并没有一个绝对正确的标准——更值得遵循的原则是”和大多数人保持一致”:优先与开源项目的通行风格保持一致(一般比较靠谱),其次可以遵守公司内部的编码风格;但如果一家公司内部的编码风格和当前主流开源项目的风格严重冲突,这往往意味着这家公司的技术氛围偏封闭,或者已经有些跟不上行业发展节奏了。这条原则背后的核心判断是:遵守一个约定,总比自己另外创造一套规则要好得多——这能显著降低理解、沟通和维护的成本;如果一个项目自己发明了一些奇怪的规则,很可能说明作者阅读过的高质量代码不够多,缺乏对行业主流实践的参照。更重要的一点是:完全没有必要过度纠结”遵循这个约定到底能带来什么具体收益”,这就好比讨论”走路应该靠左还是靠右”——即使深入论证出了一个结论,这个结论本身的价值也不大,真正重要的不是选对了哪一边,而是所有人都遵守同一套规则,从而消除了因为各自习惯不同而产生的摩擦和不确定性。这个案例揭示了一条关于”约定”或者说”标准化”的普遍价值判断:很多约定类规则的价值根源不在于这条规则本身在逻辑上有多优越,而在于”存在一条被普遍遵守的规则”这件事本身——一旦所有参与者都在同一套规则下协作,理解彼此产出的成本会大幅降低,这份收益往往远超过”选哪条具体规则”这个问题本身值得投入的争论精力。
参考来源
- 位置:《高可用架构(第1卷)》第5章《运维保障》"5.6 系统运维之评价代码优劣的方法"节,"5.6.1 什么是好代码"(源文件:_epub-src/OEBPS/Text/Chapter5_6_2.xhtml)
- 结论依据:原文说明"无论如何,遵守一个约定总比自己创造出一些规则要好很多,这降低了理解、沟通和维护的成本……没有必要纠结于遵循了约定到底有什么收益,这就好像走路是靠左好还是靠右好一样,即使得出了结论也没有什么意义,你只要遵守大部分约定就可以了",直接支撑本卡片结论。
- 原始内容:无论如何,遵守一个约定总比自己创造出一些规则要好很多,这降低了理解、沟通和维护的成本……没有必要纠结于遵循了约定到底有什么收益,这就好像走路是靠左好还是靠右好一样,即使得出了结论也没有什么意义,你只要遵守大部分约定就可以了。