简洁代码标准:
高效,干净利落的抽象。
2.3避免误导
避免使用与本意相悖的词:
例如别用accountList来表示一组账号,除非他真的是Listl类型。
别用小写字母l和大写字母O做变量名
2.4做有意义的区分
例如以数字系列命名(a1,a2,….aN),这样的命名完全没有提供正确的信息
例如:
public static voidcopyChars(char a1[], char a2[]) {
for (int i = 0; i< a1.length; i++) {
a2[i] = a1[i];
}
}
2.6使用可搜索的名称
单个字母或数字很难找到,
例如将7换成 MAX_CLASSES_PER_STUDET就非常容易。
比较:
for(int j=0; j<34; j++) {
s +=(t[j]*4)/5;
}
与
intrealDaysPerIdealDay = 4;
constint WORK_DAYS_PER_WEEK = 5;
intsum = 0;
for(int j=0; j < NUMBER_OF_TASKS; j++) {
intrealTaskDays = taskEstimate[j] * realDaysPerIdealDay;
intrealTaskWeeks = (realdays / WORK_DAYS_PER_WEEK);
sum +=realTaskWeeks;
}
2.7避免使用编码
2.9类名
类和对象应为名词或名词短语
2.10方法名
方法名应为动词或动词短语,属性访问应加上get,set,is前缀
重载构造器时,应使用描述了参数的静态工厂方法名
ComplexfulcrumPoint = Complex.FromRealNumber(23.0);
优于
ComplexfulcrumPoint = new Complex(23.0);
2.12每个概念对应一个词
给每个抽象概念选一个词,并一以贯之。
例如禁止使用fetch,get来给多个类中的同种方法命名
2.16添加有意义的语境
表示地址时
addrFirstName,addrLastName,addrState, and so
优于用下边的表示
irstName,lastName,street,houseNumber,city,
state, andzipcode.