名副其实 -- 如无必要, 勿增实体
- 对于变量名赋予意义, 并且在开发的过程中随时确保该意义未改变(记忆一个变量内在含义比记忆变量的数学表示实在容易太多)
例如对于一个数组进行二分查找 binarySearch(int []arr, int left, int right), 定义其范围为[left, right), 那么在书写过程中需要随时确保该边界成立
例如对于一个常用的变量对其命名 a1, a2, a3 等均不妥(人的工作记忆容量有限)
-
尽量向上兼容, 充分利用'多态性', 例如操作系统中内核以及进程各有自己的页表, 但是我们将其统一命名为
pagetable(因为后续处理逻辑相对一致) -
如果不能向上兼容, 则尽量专名专用, 尽量简短, 可以一针见血知道其含义,还是以页表为例,完全没有必要命名一个
xv6pagetable的变量。
避免误导
- 不要使用 l o 0, 1 等字符
- 尽量使用程序员熟知的名字, 含义等
变量集中, 确保其在最小活动范围中
- 对于局部变量, 尽量在使用处附近声明, 特别是处理某问题的一类变量, 更应该集中在使用处声明
总结
明确意义, 管住变量