命名指南:主观但基本正确
本文提出了一套关于代码命名的主观但实用的指南。作者认为好的命名是软件可读性的关键,并给出了具体建议,如避免模糊词汇、使用一致的术语、以及优先表达意图而非实现细节。文章强调命名并非个人品味问题,而是影响团队协作和代码维护的重要工程决策。
背景速读
- 作者亚当·托恩希尔(Adam Tornhill)是瑞典程序员、技术写作人,以将代码分析与心理学结合而闻名,著有《Your Code as a Crime Scene》和《Software Design X-Rays》。
- 他创立的 Empear 公司开发了 CodeScene 工具,通过分析代码库的演变历史、提交频率、耦合度等指标来定位技术债务和团队协作问题。
- 本文讨论的是软件开发中最基础也最易引发争论的话题:变量、函数、类等的命名。命名看似琐碎,但托恩希尔认为它直接影响代码可读性、维护成本与团队心理安全。
- 他主张命名应优先考虑“阅读者”而非“写作者”,并给出具体原则(如长度应与作用域匹配、避免误导性缩写、用动词命名函数等),反对教条化的“命名规范战争”。
- 对于不熟悉代码质量讨论的中国读者,托恩希尔的观点来自“心理学驱动的软件工程”流派,与纯粹强调工具或流程的方法不同,更关注开发者认知负荷。