《Code Complete》ch.11 变量名的力量

it2022-05-09  62

What?

  如何给变量命名

Why?

易读(你三个月前的代码=别人的代码),易记,恰如其分整齐的命名具有美感,强迫症患者居家旅行杀人放火之必备

How?

以问题为导向

  好名字反映的是问题(what),并非解决方案(how)。名字不应体现计算细节

// good Object studentData; int sum; // bad Object inputData; int calcValue;

控制变量名长度

合适的变量名长度为10~16个字符较长的名字适用于少用到的全局变量,较短的名字适用于局部变量、循环变量计算限定词total, sum, average, max, min, count, index等需要加到变量名最后 int revenueTotal, expenseAverage, expenseTotal; int studentCount, studentIndex;

合理使用对仗词

begin/endfirst/lastlocked/unlockedmin/maxnext/previousold/newopened/closedvisible/invisiblesource/targetsource/destinationup/down

循环变量

循环内用简单的i, j, k, l,不要在循环外使用这些作为变量名,因为它们已经太深入人心了嵌套循环,需要明确变量名循环外用到的循环变量,需要需要明确变量名

状态变量、标志位

避免使用flag、status这些不具备明确意义的名字使用paid、approved这些可以直接读懂的更好

临时变量

别用temp、tmp,要使用有明确意义的

布尔变量

good:done、found、error、success、fileAvailablebad:isDone、isFound,is是多余的bad:done/undone、success/fail,可以用一个变量解决的问题不必再额外增加一个(!done、!success)

枚举类型

要体现出自己是一个枚举组中的一员,如Color.Black、Color.White public Enum Color { Black, White } Color black = Color.Black;

 常量

大写字母,下划线分隔。除此之外不应在变量名中出现下划线

关于缩写

去掉所有的非前置元音,如computer->cmptr、screen->scrn、integer->intgr去掉虚词and、or、the使用每个单词的第一个或前几个字母统一在每个单词的第一/第二/第三个字母处截断去除无用后缀,如ed、ing反复缩减直到长度控制在20字符bad:b4、hilitebad:myVar缩写要一致,一次使用终身使用

Bad Manners

变量名中使用数字,如file1、file2拼错单词仅仅靠大小写来区分中英混杂

转载于:https://www.cnblogs.com/maozhige/p/3782642.html


最新回复(0)