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

每个程序员需掌握的20个代码命名小贴士代码中到处都需要命名。作为程序员,我们得给类命名,给变量命名,给函数命名,给参数命名,给命名空间命名,等等等等。下面有20条小贴士能帮助你提高你的命名能力。1.使用能够表达意图的名字名字得能告诉我们它要做什么,为什么存在,以及是如何工作的。选择能够表达意图的名字,将更有利于我们理解代码。<spanstyle="font-size:14px;">intd;//elapsedtimeindaysintelapsedTimeInDays;intdaysSinceCreation;intdaysSinceModification;intfileAgeInDays;</span>在上面的片段中,我们只能从注释中知道变量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()会让人混淆起来。保持一致的词汇是程序员驾驭代码的重要工具。12.不要将同一个词用于两个不同的概念如果你遵循第11点——一个概念一个词的原则,那么就可以避免许多有着相同方法名的类。只要参数列表和各种方法的返回值在语义上是等价的就没问题。只有当你将同一个词用于两个不同的概念时才会出现问题。例如,我们可以在多个类中使用add()方法,通过添加或连接两个现有的值来创建一个新的值。如果我们之后又需要在类中引入一个add方法用于添加参数到集合中,这就会因为语义不同而导致问题。这种新方法最好是改叫为insert()。13.使用解决方案领域的名字我们编写的代码今后可能会有其他程序员来阅读,所以我们使用一些技术术语进行代码命名会带来很大的好处。比如适当地使用算法名字、设计模式名字以及数学术语,这些命名方式很可能会让其他程序员更容易理解程序,引起共鸣。14.使用问题领域的名字如果实在找不到易于理解的技术术语来命名,那么也可以从问题领域来寻找合适的代码命名。当未来阅读你代码的程序员不确定代码意义的时候,这将为他们提供一些问题的...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?