程序员超强大脑——提高命名的质量(二)

哪些类型的标识符更容易理解

  1. 使用完整的单词似乎是一个合理的选择。
  2. 虽然单词构成的标识符便于理解,但较长的标识符也可能产生负面影响。
  3. 设计高质量的标识符是需要仔细衡量单词的清晰性与缩写的简洁性:注意单词的清晰性便于代码阅读者理解程序和排查错误;注重缩写的简洁性则便于代码阅读者记忆标识符。
  4. 单字母通常用作变量。程序员应该要明白一个道理,那就是不要想当然地认为其他人会明白自己做出的假设。有些程序员或许认为,某个字母肯定能传递出某种类型的信息,代码阅读者一望便知,但是除少数情况外,这种想法并没有理论依据。因此,为便于今后理解代码,采用单词来设计标识符或遵循命名约定是更好的选择。

低质量的标识符会引发更多代码错误

运用Feitelson设计的三步模型来提高标识符质量。

  1. 选择标识符要体现的概念。
    这一步具有极强的领域待定性,思考标识符包含哪些概念也许是命名中最重要的决定。
    Feitelson认为,在选择标识符所包含的内容时,应该重点考虑标识符的目的,即标识符能否体现出对象的信息及其用途。

  2. 挑选代表每个概念的单词。
    找到合适的单词通常并不难,显然应该选择一个在代码领域或整个代码库中使用特定单词。
    为提高命名的一致性,可以考虑建立项目词库,把所有重要的定义记录在案,并给出同义词的替换词。

  3. 根据这些单词设计标识。
    本质上是选择一个名称模具(名称模具旨在描述各个元素组合成变量名的典型方式)。
    代码库保持一致不仅便于其他人查找标识符包含的重要元素,也有助于在该标识符与其他标识符之间建立联系。此外,Feitelson建议所选模具应符合定义变量的自然语言。比如程序员可能更愿意使用是 max_points 而不是 points_max。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值