变量名的力量

变量名的力量:

  • 见名知义

    对变量存储的数据进行描述 员工数据记录 employeeData

  • 适当的名字长度

    统计发现变量名10到16个字符,调试所花费的力气是最小的。

    如果你查看自己的代码时发现了更短的名字,那么需要认真检查,确保这些名字含义足够清晰 

  • 变量名对作用域的影响

    当你把变量名取的很短时,这一长度本身就对该变量做出了一些说明。该变量代表的是一个临时的数据,他的作用域非常有限。

    较长的名字 适用于很少用到的变量 或者 全局变量

    较短的名字 适用于 局部变量 或者 全局变量

    基于防御式编程 避免使用过短的变量名

    对位于全局命名空间中的名字加以限定词

  • 变量名中的计算值限定词

    age_max name_string 将限定词加在末尾!为变量赋予主要含义的部分应当位于最前面!expense_average 支出_平均

  • 为特定类型的数据命名

    为循环下标命名: 使用i、j、k这些是约定俗称的,如果变量要在循环之外使用,就要给他一个更有意义的名字!
    在长循环中,很容易忘记i本来的含义,因此很多有经验的程序员索性不使用类似i这样的名字。
    多层嵌套循环中 score[teamIndex][eventIndex]比score[i][j]给出的信息更多。

  • 为状态变量命名
    状态变量用于描述你的程序的状态。

# 状态变量的合适名字
if (dataReady)...
if (reportType == ReportType_Annual)  # annual年度的
if (recalcNeeded == false)  # recalc重新计算

如果你发现自己需要猜测某段代码的含义的时候,就该考虑为变量重新命名。你没必要去猜测代码,你应该直接能读懂它们。

  • 为临时变量命名
    临时变量用于存储计算的中间结果,作为临时占位符,以及存储内务管理值。它们常被赋予temp、x或者其他一些模糊且缺乏描述性的名字。
    临时变量是一个信号,表示程序员还没有完全把问题弄清楚。而且由于这些变量被正式地赋予了一种‘临时’状态,因此程序员会更随意的对待这些变量。警惕"临时"变量!
....
j = b*2 - 4*a*c  # 不提供信息的临时变量

'''应该写成如下'''
discriminant = b*2 - 4*a*c # discriminant判别式 -->数学中的对方程中的根进行判断的公式
  • 为布尔变量命名

    done表示已完成 success成功 其状态要么是true要么是false
    status状态不能提供更多的信息 改为status_ok会更好,更清晰。
posted @ 2022-09-28 18:28  passion2021  阅读(35)  评论(0编辑  收藏  举报