每个程序员需掌握的20个代码命名小贴士


代码中到处都需要命名。作为程序员,我们得给类命名,给变量命名,给函数命名,给参数命名,给命名空间命名,等等等等。下面有20条小贴士能帮助你提高你的命名能力。 1....
       代码中到处都需要命名。作为程序员,我们得给类命名,给变量命名,给函数命名,给参数命名,给命名空间命名,等等等等。下面有20条小贴士能帮助你提高你的命名能力。


       1.使用能够表达意图的名字


       名字得能告诉我们它要做什么,为什么存在,以及是如何工作的。选择能够表达意图的名字,将更有利于我们理解代码。


int d; // elapsed time in days

int elapsedTimeInDays;

int daysSinceCreation;

int daysSinceModification;

int fileAgeInDays;


       在上面的片段中,我们只能从注释中知道变量d指的是什么。于是阅读代码的人为了知道它的含义就不得不去寻找它的实例以获取线索。所以,要是我们能够好好命名这个变量,阅读代码的人就能够瞬间知道这变量的含义。


       2.不要怕在选择名字上花时间


       你应该多试几种不同的名字,直至足以描述其含义,千万不要害怕在这上面花时间。以后阅读你代码的人(包括你自己)将会因此而受益。此外,一个描述性的名称甚至还能有助于你在心中理清模块的设计。良好的命名的确需要花费时间,但是从长远来看,利大于弊。


       3.重构名字


       如果你在后面的开发过程中想到了一个更好的名字,那就不要犹豫,马上去改吧。现在的IDE使得重构名字变得异常容易。


       4.避免在名字中出现干扰词


       比如Manager、Processor、Data、Info以及“我不知道这叫什么”的同义词,都是干扰词。如果你需要使用上面这些干扰词的话,那么说明你的命名可能太累赘了。


       5.小心难以命名的类/功能


       一个很难命名的类或函数很有可能是一个代码异味。这说明:


  • 代码做得太多。
  • 代码做得还不够。
  • 你对此问题理解得还不够透彻,需要先获取更多的信息。


       6.类名


       类应该有个名词或名词词组的名字,如Customer、WikiPage、Account和AddressParser。继承性父类应该给个又短又有冲击力的名字。子类的名字应该长点,通过形容词来描述其不同于它的父类之处,如SavingsAccount衍生于Account。


       7.变量名


       变量名也应该是名词。它们大多是由其指向的类衍生出去的。布尔变量应写成谓词的形式,如isEmpty和isTerminated,这样放到if语句才便于理解。


       8.方法名


       方法名应该是一个动词或动词词组,如postPayment()、deletePage()和save()。访问器和调整器应该分别前缀get和set。返回布尔值的方法应该前缀‘is’,如isPostable(),这样在if语句中才便于理解。


       9.范围大小与变量名的长度


       变量名的长度应和它的范围大小相匹配。如果变量的范围很短,那么变量名的长度也应该很短。反之,变量名则应该长一点,更有描述性。


       10.范围大小与方法/类名的长度


       对于方法和类名的长度则应该与其范围成反比。对于公共方法,短一点的名字会比较好,这是因为它们会被调用多次。私有方法只在类的范围内被调用,长一点的名字反而可以作为文档使用。此条规则的例外是派生类的名字。类越派生,基类前所加的形容词就越多,名字也就越长。


       11.一个概念一个词


       为某个抽象概念选定一个词,然后就不要变了。例如作为不同类中的等效方法,get()、fetch()和retrieve()会让人混淆起来。保持一致的词汇是程序员驾驭代码的重要工具。


       

标签: 程序员变量

更多 程序员 相关资讯

10个对开发项目有害的编程习惯

10个对开发项目有害的编程习惯

避免这些常见的编码习惯,会让我们的工作更轻松、软件更安全且更易于扩展。 帕雷托法则明确指出,20%的因导致80%的果。又称为80-20法则,它适用于几乎每一个需要人

Web开发中的18个关键性错误

Web开发中的18个关键性错误

英文原文:18 Critical Oversights in Web Development   前几年,我有机会能参与一些有趣的项目,并且独立完成开发、升级、重构以及新功能的开发等工作。   本文总结了一些

成为优秀程序员的十个有效方法

优秀的程序员是在穿过一条单行道的时候还会往两边看的人。   作为一个IT行业的软件程序员,每天驱使我们日复一日的辛勤工作的,是来自我们对编程的兴趣和激情。但是要让编程

程序员生存定律——打造属于自己的稀缺性

假设说你想在江湖里谋求一定的地位,那么你可以练习独孤九剑成为超一流高手,也可以练习医术,成为绝世神医。这两者在江湖里都是有地位的,也都是稀缺的,一者是因为杀伤力,二者是因为

程序安全的第一道保障——程序员

绝大多数的企业,都是在 Web 应用设计结束后才开始考虑应用安全的问题。他们可能在应用开发结束后才进行安全测试,或者在应用正式上线前进行测试。 有的甚至在正式上线后才进行

如何提升程序员的“性能”

如何提升程序员的“性能”

  程序员经常痴迷于优化程序的性能,我们始终会围绕一些让人绞尽脑汁的优化建议,比如:如何简化代码、如何提升软件运行速度、如何提高软件稳定性等等。本文来讨论一下程序员

程序员,你的职业不要固步自封

当我观看特丽莎·吉在Goto大会上一段有趣的演讲时,其中有一点真的是激起了我的共鸣,她在演讲中给出了很多职业建议,而这基本上勾勒出了我的职业生涯哲学。 (演讲视频:htt

论程序员的自我修炼

论程序员的自我修炼

软件开发是个挑战,尤其是对于那些完美主义的程序员。他们需要制定大量的决策以及许多问题的解决方案,这对于有些人来说会感到很难。当然,你可以在线搜索到最佳实践方案或

那些年,我们追过的语言

那些年,我们追过的语言

程序君也年轻过,年轻的代价就是盲目追随。  从 MS-DOS6.0 开始,程序君就是微软的狂热拥趸。  这种狂热自 win95 走上高潮(有谁还记得 win95 光盘里带的 Good T

快乐能改进程序员的问题解决能力

快乐能改进程序员的问题解决能力

快乐的程序员会比不快乐的程序员表现更好,看起来是显而易见的。否则,为什么互联网巨人如Google和Facebook都想方设法让员工在公司内更愉快的工作?但愉快的程序员是更优秀

更多 变量 相关资讯

程序员:提高编程技能的11个建议

程序员:提高编程技能的11个建议

不说废话,直接上步骤。 1.首先仔细分析问题 2.接着好好想想如何解决这个问题 3.收集整理所有需求。 花点时间将最终产品要实现的目标写下来,并且明确哪些是我们的目标用户群。

接下来的两年你可能需要这五种语言!

接下来的两年你可能需要这五种语言!

对于处在编程世界的我们来说,现在已经走到了一个转折点。十年前,程序员们对动态语言趋之若鹜。对我们中的大部分人来说,动态语言不仅使编程变得更加简单,同时也意味着一

支持变量和数学函数的 CSS 预处理器

支持变量和数学函数的 CSS 预处理器

Myth 是一个预处理器,有点类似于 CSS polyfill 。Myth 让你写纯粹的 CSS,同时还让你可以使用类似 LESS 和 Sass 的工具。您仍然可以使用变量和数学函数,就像你在其它