全栈工程师

第二章 有意义的命名

2017-08-08  本文已影响18人  Dl_毛良伟

避免误导


例如:

如XYZControllerForEfficientHandlingOfStrings和XYZControllerForEfficientStorageOfStrings。

有意义的区分

例如:

getActiveAccount();
getActiveAccounts();
getActiveAccountInfo();
moneyAmount与money
customerInfo与customer
accountData与account
theMessage与message

名副其实

说起来很简单。选个好名字需要花时间,但省下的时间比花掉的多。注意命名,一旦有好的命名,就换掉旧的。

 int d;// 消失的时间,以日计。
 int elapsedTimeInDays;

使用便于搜索的的名称

单个字母或者数字常量是很难在一大堆文章中找出来。比如字母e,它是英文中最常用的字母。长名胜于短名称,搜得到的名称胜于自编的名称。 窃以为单字母的名称仅用于短方法中的本地变量。名称长短应与其作用域大小相对应。

for (int j = 0; j < 34; j++){
    s += (t[j]*4)/5;
}

int readDaysPerIdealDay = 4;
final int WORK_DAYS_PER_WEEK = 5;
int sum = 0;
for (int j = 0; j < NUMBER_OF_TASKS; j++){
    int realTaskDays = taskEstimate[j] * realDaysPerIdealDay;
    int realTaskWeeks = realTaskDays / WORK_DAYS_PER_WEEK;
    sum += realTaskWeeks;
}

类名应该是名词或短语

像Customer,Account,避免使用Manager,Processor,Data或者Info这样的类名。类名不应当是动词。


方法名应该是动词或动词短语

如postPayment ,deletePage或Save,属性访问、修改和断言应该根据其值来命名,并加上get,set,is这些前缀。

上一篇下一篇

猜你喜欢

热点阅读