哪些类型的标识符更容易理解
- 使用完整的单词似乎是一个合理的选择。
- 虽然单词构成的标识符便于理解,但较长的标识符也可能产生负面影响。
- 设计高质量的标识符是需要仔细衡量单词的清晰性与缩写的简洁性:注意单词的清晰性便于代码阅读者理解程序和排查错误;注重缩写的简洁性则便于代码阅读者记忆标识符。
- 单字母通常用作变量。程序员应该要明白一个道理,那就是不要想当然地认为其他人会明白自己做出的假设。有些程序员或许认为,某个字母肯定能传递出某种类型的信息,代码阅读者一望便知,但是除少数情况外,这种想法并没有理论依据。因此,为便于今后理解代码,采用单词来设计标识符或遵循命名约定是更好的选择。
低质量的标识符会引发更多代码错误
运用Feitelson设计的三步模型来提高标识符质量。
-
选择标识符要体现的概念。
这一步具有极强的领域待定性,思考标识符包含哪些概念也许是命名中最重要的决定。
Feitelson认为,在选择标识符所包含的内容时,应该重点考虑标识符的目的,即标识符能否体现出对象的信息及其用途。 -
挑选代表每个概念的单词。
找到合适的单词通常并不难,显然应该选择一个在代码领域或整个代码库中使用特定单词。
为提高命名的一致性,可以考虑建立项目词库,把所有重要的定义记录在案,并给出同义词的替换词。 -
根据这些单词设计标识。
本质上是选择一个名称模具(名称模具旨在描述各个元素组合成变量名的典型方式)。
代码库保持一致不仅便于其他人查找标识符包含的重要元素,也有助于在该标识符与其他标识符之间建立联系。此外,Feitelson建议所选模具应符合定义变量的自然语言。比如程序员可能更愿意使用是 max_points 而不是 points_max。