代码整洁之道
- 第一章 (代码整洁的重要性)
好的代码,要注意的是:
- 去除重复代码
- 提高表达力(达到让别人能够看懂,并且觉得,这段代码就是为了解决某个问题而生的)
第二章(有意义的命名)
- 简单规则
- 名副其实
变量、函数或者类的名称应该是已经答复了所有的大问题。它应该告诉你,它为什么会存在,它做什么事,应该怎么用。如果名称需要注释来补充,那就不算是名副其实了。举一个例子:
java
int d;//消逝的时间,以日计`
但是变量名称d什么也没有说明。我们应该选择指明了计量对象与计量单位的名称。
int elapsedTimeInDays;
int daysSinceCreation;
int daysSinceModification;
- 避免误导
- 举个例子
xyzControllerForEfficientHandlingOfStrings 与xyzxyzControllerForEfficientStorageOfStrings
比较起来会花很长的时间。
- 举个例子
- 做有意义的区分(这个是想)
- 使用读得出来的名称(避免简写)
例如:btnRegister 这个是我们经常使用的缩写,但是当用户读出来的时候就会感觉傻傻的,如果不熟悉btn就是button的简写的,可能要适应一段时间 - 成员前缀
例如我们经常使用的mContext,不能够让人明白它是干嘛的,应该把类和函数做的足够小,消除成员前缀的需求。Context如果被我们用来获取资源,可以写为resourceContext,可以一眼看出它的功用来。 - 接口和实现
我们在开发过程中,如果创建一个接口,需要具体的类来实现,我们传统意义上会通过IMusicFactory来实现,但是这个看上去很丑也很难读。它只是一个工厂接口类,那么在名字上我们只要写为MusicFactory即可。实现者可以写为MusicFactoryImp - 类名
类名和对象名应该是名词或者名词短语,如Customer、WikiPage、Account和AddressParser,避免使用Manager、Processor、Data或Info这样的干扰词组成的类名,类名不应该是动词。 - 方法名
应该是动词或者动词短语,如startPlay、saveLog
- 名副其实
- 简单规则
第三章(函数)
- 准则:
- 每个函数只做一件事
- 参数
- 最好没有参数,随着参数的增加,函数的复杂度都会增加,如果参数超过3个,则需要考虑将参数抽象为参数类。
- 准则: