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

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,添加必要的语境

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值