对于一个人来说,名字是非常重要的。俗话说“人如其名”。对于程序中的变量来说,名称也非常重要。
作为开发人员,您花费大量编码时间来创建变量并为其考虑名称。名字无处不在。您可以命名文件、类、方法和变量。命名的差异导致有的代码好,有的代码不好,最终会严重影响代码维护的成本。
由于我们花费了大量时间来命名变量,因此做好它很重要。在本文中,我将向您展示一些创建名称时可以遵循的简单规则。
在代码中命名事物本身就是一门艺术!
1.名称应体现真实意图
这说起来容易做起来难。您是否经常遇到变量名称没有告诉您有关该变量的真实信息的情况?
一个好的经验法则是:如果名称需要注释,那么它就不是预期的名称。
编程大师C.在《代码》中说:“注释的使用是为了弥补我们代码中意义的缺失”。
这句话的意思是,如果你的代码需要注释,那么你的代码还不够好。同时,这也说明,如果不能用纯代码表现出自己对问题或算法的理解,是非常不成功的。你只能依靠一些注释来说明你的想法,而不仅仅是代码。
优秀的代码无需注释即可阅读和理解。良好的编程实践是在代码中显示所有必要的信息。
以下代码片段是一个变量,并没有揭示真实意图:
代码语言:
复制
变量 $s 没有任何意义。
看不出任何时间流逝的感觉。最好选择一个名称来指定您要测量的内容以及该测量的单位。因此,程序员如何在代码中准确地表达自己的想法,以便别人能够理解程序的含义是非常重要的。
下面例子中的变量名会更好,选一个。
代码语言:
复制
选择显示意图的名称可以使一段代码更易于理解,从而更易于维护。选择名称需要时间,但总体节省的时间比维护代码要多得多。
让我们看下面的例子:
代码语言:
复制
为什么辨别函数的作用如此困难?它没有复杂的表达式。代码缩进且格式正确。仅使用了三个变量,没有任何附加功能。
我们再看一下这个函数。你看出来函数和函数是一模一样的吗?
请注意,代码复杂性没有改变。它仍然具有完全相同数量的运算符和变量,以及完全相同数量的嵌套逻辑。唯一改变的是代码命名变得更加明确。通过简单的名称重构,就可以很容易地看出这段代码的作用。
2. 使用在特定领域上下文中有意义的名称
程序员写的所有代码都与一定的领域背景有关。为了让写出来的代码能够被更多人理解,最好在字段背景中使用名称。
错误代码示例:
代码语言:
复制
public class EntitiesRelation
当您编写特定于域的代码时,应该使用特定于域的名称。如果将来另一个人(不仅仅是程序员,也许是测试人员)接触到你的代码,他可以很容易地理解你写的后台相关代码的含义。
因此,程序员首先应该考虑领域背景问题,然后再考虑如何提出解决方案。
清晰的代码示例:
代码语言:
复制
public class ProductWithCategory
3. 避免误导性信息
您应该避免留下模糊代码含义的错误消息。避免使用含义与预期含义不同的误导性词语。例如,不要调用产品分组,除非它实际上是 List 类型的对象。这可能会导致错误的结论。更好的名称是“产品”。
代码语言:
复制
Product[] products;
您可以选择的最糟糕的变量名称是大写 O 和小写 L。这是因为它们看起来很像 0 和 1。
请谨慎使用略有不同的名称。需要多长时间才能发现一个文件中的内容与另一个文件中的内容之间的细微差别?乍一看,这些名字看起来很相似。
导致误解的信息比没有信息更糟糕。有些程序员喜欢“隐藏”一些重要信息,但更糟糕的是他们有时会编写具有误导性的代码。
命名混乱:一个词不应该代表多个概念。定义场景中的概念很困难。在软件开发过程中,程序员需要花费大量时间分析某个场景,并对场景中的各种元素进行命名。这样的工作永远都会被完成。这是令程序员头疼的事情。错误代码示例:
代码语言:
复制
//1.
在第一段代码中,程序员想要表达“获取数据”的概念,但他使用了许多不同的单词“load”、“”、“get”。在一个场景中,应该用一个统一的词来表示这个概念。
在第二段代码中,“集合”一词用于表示两个概念。第一个是“检索数据以供显示”,第二个是“为对象分配值”。应该使用不同的词来表示这两个概念。不同的概念。
清晰的代码示例:
代码语言:
复制
//1.
4. 做出有意义的区分
数字系列命名并不是命名事物的好方法。这些名称没有提供任何信息,因为它们没有提供代码作者意图的暗示。
让我们看下面的例子:
代码语言:
复制
当 arr1 和 arr1 和 arr2 重命名为 and 时,这段代码会读起来更好。
5. 使用你能发音的单词
如果你不能说出它的名字,那么你就无法讨论它而不听起来像个白痴。这实际上很重要,因为编程的一部分是一种社交活动,每个人都很有可能知道他们不会发音的变量名称。假设我们有一个名为 $xsq 的变量名称,这对于您的公司来说是一个非常重要的缩写。想象一下与同事的对话:“嘿,变量 eks ess kjew 怎么样?” “你是说访问队列?”一些开发人员会尝试将变量发音为单词。其他人会拼写这个词。
变量命名:使用在上下文中有意义的名称。代码中的名称有其自己的上下文。上下文对于理解代码很重要,因为它提供了附加信息。让我们看一下典型的“地址”上下文:
错误代码示例:; ;
大多数情况下,“邮政编码”() 是地址的一部分,显然邮政编码不能单独使用(除非您正在开发专门处理邮政编码的应用程序)。因此,“”前面不需要加“”。此外,所有这些信息都应该有上下文。在面向对象编程中,应该使用一个“”类来表达这个地址信息。清晰的代码示例:{ city; ; ;
6. 使用可搜索的名称
由一个字母组成的名称可能很难找到。数字常量也是如此。数字常量可以用常量变量代替。数字 8 会给您在搜索代码时带来很多麻烦。然而,用常量替换它会更容易。单字母名称的唯一用例是短方法中的局部变量。
7. 命名前缀
不要使用前缀。例如,一些开发人员习惯在所有私有成员前面加上下划线前缀。否则,您的类和方法应该足够短,以至于不需要任何这些前缀。或者,您可以使用 IDE(或安装插件)根据变量的范围对变量进行着色。
综上所述
这样,您可以在代码中创建更有意义的名称。
作为一名程序员你应该:
1、名字有意义,能表达一个概念。 2、要考虑名字的长度。名称中仅包含必要的信息。 3、符合《编码标准》,有助于理解。 4. 不要为一个概念混合使用多个名称。 5. 在背景字段和上下文中都有意义的名称中使用它