转载自https://github.com/Snailclimb/JavaGuide(添加小部分笔记)感谢作者!
我还记得我刚工作那一段时间, 项目 Code Review 的时候,我经常因为变量命名不规范而被 “diss”!
究其原因还是自己那会经验不足,而且,大学那会写项目的时候不太注意这些问题,想着只要把功能实现出来就行了。
但是,工作中就不一样,为了代码的可读性、可维护性,项目组对于代码质量的要求还是很高的!
前段时间,项目组新来的一个实习生也经常在 Code Review 因为变量命名不规范而被 “diss”,这让我想到自己刚到公司写代码那会的日子。
于是,我就简单写了这篇关于变量命名规范的文章,希望能对同样有此困扰的小伙伴提供一些帮助。
确实,编程过程中,有太多太多让我们头疼的事情了,比如命名、维护其他人的代码、写测试、与其他人沟通交流等等。
据说之前在 Quora 网站,由接近 5000 名程序员票选出来的最难的事情就是“命名”。
大名鼎鼎的《重构》的作者老马(Martin Fowler)曾经在 TwoHardThings这篇文章中提到过CS 领域有两大最难的事情:一是 缓存失效 ,一是 程序命名 。
这个句话实际上也是老马引用别人的,类似的表达还有很多。比如分布式系统领域有两大最难的事情:一是 保证消息顺序 ,一是 严格一次传递 。
今天咱们就单独拎出 “命名” 来聊聊!
这篇文章配合我之前发的 《编码 5 分钟,命名 2 小时?史上最全的 Java 命名规范参考!》 这篇文章阅读效果更佳哦!
为什么需要重视命名?#
咱们需要先搞懂为什么要重视编程中的命名这一行为,它对于我们的编码工作有着什么意义。
为什么命名很重要呢? 这是因为 好的命名即是注释,别人一看到你的命名就知道你的变量、方法或者类是做什么的!
简单来说就是 别人根据你的命名就能知道你的代码要表达的意思 (不过,前提这个人也要有基本的英语知识,对于一些编程中常见的单词比较熟悉)。
简单举个例子说明一下命名的重要性。
《Clean Code》这本书明确指出:
好的代码本身就是注释,我们要尽量规范和美化自己的代码来减少不必要的注释。
若编程语言足够有表达力,就不需要注释,尽量通过代码来阐述。
举个例子:
去掉下面复杂的注释,只需要创建一个与注释所言同一事物的函数即可
// check to see if the employee is eligible for full benefits if ((employee.flags & HOURLY_FLAG) && (employee.age > 65))应替换为












