第二章 有意义的命名
取个好名字的简单规则
1、名副其实
名副其实说起来简单。但是这是一件严肃的事情。选个好名字要花时间,但省下来的时间比花掉的多。注意命名,一旦发现有更好的名字,就换掉旧的。
如果名称需要注释来补充,那就不算是名副其实。
比如:
int d;//消逝的时间,以日计
修改为:
int elapsedTimeInDays;
2、避免误导
必须避免留下掩藏代码本意的错误线索;应当避免使用与本意相悖的词。
提防使用不同之处的较小名称。
比如:用小写字母l和大写字母O作为变量名。
3、做有意义的区分
以数字系列命名(a1,a2,....)是依义命名的对立面。
废话是另一种没意义的区分。如:Product、ProductInfo和ProductData
废话都是冗余的。
如:getActiveAccount();
getActiveAccounts();
getActiveAccountInfo();
4、使用读得出来的名称
5、使用可搜索的名称
单字母名称和数字常量有个问题,就是很难在一大篇文字中找出来。
6、避免使用编码
6.1匈牙利语标记法
6.2变量前缀
6.3接口与实现
7、避免思维映射
明确是王道
8、类名
类名和对象名应该是名词或名词短语。如:Customer
避免使用Manager、Processor、Data或Info这样的类名。类名不应当是动词
9、方法名
方法名应当是动词或动词短语。如:postPayment。
重载构造器时,使用描述了参数的静态工厂方法名:
Complex fulcrumPoint = Complex.FromRealNumber(23.0);
通常好于:
Complex fullcrumPoint = new Compled(23.0);
可以考虑将相应的构造器设置为private,强制使用这种命名手段。
10、别扮可爱
11、每个概念对应一个词
给每个抽象概念选定一个词,并且一以贯之。
12、别用双关语
避免将同一单词用于不同目的。同一术语用于不同概念。
13、使用解决方案领域名称
14、使用源自所涉问题领域的名称
15、添加有意义的语境
16、不要添加没用的语境
不妨试试这些规则,看你的代码可读性是否有怕提升。如果你是在维护别人写的代码,使用重构工具来解决问题。效果立竿见影,而且持续下去。
《代码整洁之道》读书笔记(更新第二章)
最新推荐文章于 2024-06-21 17:55:36 发布