Variables 长变量名
假设我有一个变量,它包含一个文件中搜索引擎名称的数量,您会如何命名它Variables 长变量名,variables,naming,Variables,Naming,假设我有一个变量,它包含一个文件中搜索引擎名称的数量,您会如何命名它 搜索引擎名称的数量 搜索引擎名称计数 数字搜索引擎 引擎 引擎名称 其他名字 名字准确地描述了变量所包含的内容,但它不是太长了吗?关于选择变量名有什么建议吗?尤其是如何缩短过长的名称或使用何种缩写?这取决于变量的范围。短函数中的局部变量通常不值一个“完美的名称”,只要称它为engine\u count或类似的名称即可。通常意义很容易识别,如果没有注释,可能比两行变量名更好 范围更广的变量——即全局变量(如果它们真的有必要的
- 搜索引擎名称的数量
- 搜索引擎名称计数
- 数字搜索引擎
- 引擎
- 引擎名称
- 其他名字
名字准确地描述了变量所包含的内容,但它不是太长了吗?关于选择变量名有什么建议吗?尤其是如何缩短过长的名称或使用何种缩写?这取决于变量的范围。短函数中的局部变量通常不值一个“完美的名称”,只要称它为
engine\u count
或类似的名称即可。通常意义很容易识别,如果没有注释,可能比两行变量名更好
范围更广的变量——即全局变量(如果它们真的有必要的话!)、成员变量——应该给IMHO起一个几乎是自我记录的名字。当然,查找原始声明并不困难,大多数IDE都会自动执行,但变量的标识符不应该是无意义的(即number
或count
)
当然,所有这些在很大程度上取决于你的个人编码风格和工作场所的惯例。那么
numEngineNames
呢
选择变量名与其说是科学,不如说是艺术。你想要的东西,不需要一个时代的类型,但足够长的表达。这是一种主观平衡
扪心自问,如果有人第一次看到变量名,那么这个人是否有理由理解它的用途?如果存在一个同样表达变量用途的较短名称,那么名称就太长了 我想
engineCount
在这里就可以了。引擎名称的数量大概等于引擎的数量
请参阅的帖子。如果它是函数中的局部变量,我可能会称它为
n
,或者ne
。大多数函数只包含两个或三个变量,因此不需要长名称。取决于生命周期或预期用途。然而,这包括发育寿命。我最近给一个向量命名为“东西”,因为它只用于实验
如果一个变量只是在它的用法旁边声明或定义的,那么我就不必为它的表达性名称费心了。如果不是,我会选择一个中等长度的名字。我永远无法理解为什么人们会使用超过10个字符的名字。对于给定的问题,我会选择像enames这样的东西。取决于上下文,如果它是一个局部变量,例如
int num = text.scan(SEARCH_ENGINE_NAME).size();
表达式的右边越明显,我选择的名称就越短。合理的做法是,我们可能在4-5行的有限范围内,因此可以假设读者将能够在短名称和右侧表达式之间建立连接。但是,如果它是类的字段,我宁愿尽可能详细。参见类似内容
关键是降低复杂性。应命名变量以降低复杂性。有时这会导致较短的名称,有时会导致较长的名称。它通常对应于维护人员理解代码复杂性的困难程度
在频谱的一端,有for循环迭代器和索引。它们可以有i或j这样的名字,因为它们非常普通和简单。给他们起更长的名字只会引起更多的混乱
如果经常使用一个变量,但它代表的是更复杂的东西,那么您必须给它一个明确的名称,这样用户就不必每次使用它时都重新了解它的含义
在光谱的另一端是很少使用的变量。在这里,您仍然希望减少混淆,但给它起一个简短的名字就不那么重要了,因为重新学习变量用途的惩罚并不经常发生。在考虑代码时,请尝试从其他人的角度来看待它。这不仅有助于选择名称,而且有助于保持代码作为一个整体的可读性 使用很长的变量名会使代码的可读性变得混乱,因此您希望避免使用这些变量名。但另一方面,你要避免使用超短的名字或首字母缩略词,如“n”或“ne”。这样的短而神秘的名字会让试图阅读你的代码的人毛骨悚然。通常一到两个字母的变量用于小任务,例如在for循环中递增 所以剩下的就是这两个极端之间的平衡。“Num”是一个常用的缩写,任何半经验丰富的程序员都会立即明白您的意思。所以像“numEngines”或“numEngineNames”这样的东西会很好用。除此之外,您还可以在第一次使用变量时在代码中的变量旁边添加注释。这将让读者确切地知道你在做什么,并有助于避免任何可能的混淆。我将其命名为“搜索引擎计数”,因为它包含搜索引擎计数。使用Esc+
\u
+Esc编写:
this_is_a_long_variable = 42
Esc+
.
+Esc和.
在Mathematica中不是相同的字符。这就是为什么允许使用前者,但不能使用后者。我不同意,这当然取决于函数,但变量仍应具有足够的描述性,以表达其含义。如果它只是一个三行函数,并且n被设置为engines。在第一行进行计数,那么意义是显而易见的。但随着函数的增长,n的用法可能会越来越远离它的初始化方式,因此名称的意义就越来越小。一般来说,我认为1和2个字符的名称应该完全保留给短时间的一次性变量,如循环变量和lambda参数。@Anthony随着函数的增长,它应该重构为较短的函数。我不是说函数stretc