您的位置:首页 > 编程语言

代码整洁之道(1):有意义的命名

2016-12-14 18:42 288 查看
1,名副其实:

命名变量的时候名字有具体的意义, 能看出代码的功能

反:

public List<int[]> getThem() {
List<int[]> list1 = new ArrayList();
for(int[] x: theList) {
if(x[0] == 4) {
list1.add(x);
}
}
return list1;
}


正:

public List<int[]> getFlaggedCells() {
List<int[]> flaggedCells = new ArrayList();
for(int[] cell: gameBoard) {
if(cell[STATUS_VALUE] == FLAGGED) {
flaggedCells.add(cell);
}
}
return flaggedCells;
}


2,避免误导

别用accountList来指称一组账号,除非他是真List类型。 list这个词在java里面有特殊的意义,避免使用这种有特殊意义的词语,用accountGroup甚至用accounts都可以

3,做有意义的区分

避免使用包含数字的命名,这种区分没有明显的差别,让变量之间的区别度变大

反:

getActiveAccount()
getActiveAccounts()
getActiveAccountInfo()


这样的代码缺乏明显的区分度,如果缺少明显的约定,moneyaccounnt和money就没区别,customerInfo与customer没区别,accountData和account没区别,theMessage和message没区别,要区别名称就要以读者能区分的名称。

4,使用读的出来的命名

避免使用自造词

5,使用可搜索的名称

单字母名称仅仅适用于短方法中的本地变量,名称长短应该和他的作用域大小相对应。

6,接口的实现

接口shapeFactory 实现shapeFactoryImp

7,类名

类名和对象名应该是名词或者名词短语 如Customer, Wiki Page,Account,和AddressParser,避免message,Info, Processor,Data这样的类名

8,方法名

方法名应该是动词或者动词短语,如postPayment(),deletePage()和save(),

9,避免使用俚语和方言

10,每个概念对应一个单词

给每个抽象概念选择一个词语,并且从头到尾只用这个词语表达一个意思

11,避免使用双关语

12,尽量使用计算机科学的术语,算法名称,模式名称,数学术语

13,添加必要的语境
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代码整洁之道