zoukankan      html  css  js  c++  java
  • 《代码整洁之道》之二 有意义的命名

      变量、函数、参数、类和封包,这些在编程的过程中都需要我们命名。程序编写好了之后,jar文件、war文件和ear文件的命名。

      既然命名在软件中如此重要,那么我们在取名字的时候要遵循什么样的规则呢?《Clean Code》总结了如下几点:

      1) 名副其实:名称应该已经回答了所有的大问题,即名字应该表示变量、函数或类所做的事情。

      2) 避免误导:应该避免使用与本意相悖的词,也不要用容易引起歧义的词。

      3) 做有意义的区分:所谓有意义的区分就是指单从名称上就能看出两者本质上的不同。在此举一个反例就是以数字系列命名,如a1,a2,…,aN根本看不出这几个变量的区别。

      4) 使用读得出来的名称:意义明确,便于记忆。

      5) 使用可搜索的名称:比如seven就比7容易搜索。

      6) 类名和对象名应该是名词或名词短语;方法名应该是动词或动词短语。

      7) 每个概念对应一个词:给每个抽象概念选一个词,并且一以贯之。

      8) 使用源自所涉问题领域的名称:当不能用程序员熟悉的术语来给手头的工作命名,就采用从所涉问题领域而来的名称。

      9) 添加有意义的语境:用有良好命名的类、函数和名称空间来放置名称,给读者提供语境。

      在命名时应该避免的命名方式:

      1) 避免使用编码

      2) 避免思维映射:既不应该让读者在脑中把你的名称翻译成他们熟悉的名称,一句话,名称要清晰不要让读者脑补。

      3) 别扮可爱:程序员都是有个性的人,但是在命名时凸显个性会使读者莫名其妙,显然不是好的选择。

      4) 别用双关语

      5) 不要添加没用的语境

      6) 使用解决方案领域名称:读程序的只有程序员,所以使用问题涉及领域来命名不算是一个聪明的做法。

  • 相关阅读:
    闲话: 恭喜园子里的MVP一下, 同时问所有奋斗在技术领域的兄弟过节好~
    随便说两句: 表设计兼一些设计分析的讨论
    是他妈傻子写的么?
    Utility Wish List
    我终于有个偶像了
    也论标准: 统一是啥好事情?
    linux 编程学习笔记(1)搭建c(c++)开发环境
    Immutable Collections(2)ImmutableList<T>实现原理.(上)
    托管代码的进程注入&CLR宿主
    .NET安全揭秘系列博文索引
  • 原文地址:https://www.cnblogs.com/aston/p/5184912.html
Copyright © 2011-2022 走看看