变量名的力量
目录
变量名的力量:
-
见名知义
对变量存储的数据进行描述 员工数据记录 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会更好,更清晰。