clean code 第二章 有意义的命名
2020-03-29 18:25 tonyniu8 阅读(144) 评论(0) 编辑 收藏 举报2.1 介绍
我们给jar文件命名,war 文件,和ear文件。既然有这么多命名要做,不妨做好它。
2.2 名副其实
不用魔术数。
2.3 避免误导
最好别在名称中写出容器类型名。
别用accountList来指一组账号,用accounts 或者bunchOfAccounts要好些。
提防使用相似度较高的名称。XYZControllerForEfficentHandlingOfStrings和XYZControllerForEfficentStorageOfStrings.相似度太高
2.4 做有意义的区分
要区分名称就要以读者能鉴别不同之处的方式来区分。
废话是没有意义的区分: Product类和 ProductInfo,意义没区别,Info和Data就像,a和the 一样是意义含混的废话。
2.5 使用读得出的名称
例如 private Date generationTimestamp 而不是 genymdhms
2.6 使用可搜索的名称
不用魔术数字或者单字母名称
2.7 避免使用编码
- 匈牙利编码 bBusy 直接 boolean isBusy
- 接口和实现,ShapeFactoryImp 比 对接口名称编码好(IShapeFactory)
其他细节
- 类名应该是名词
- 方法名应该是动词,或动词短语。重载构造器使用描述了参数的静态工厂方法要好于构造器
Complex.FromRealNumber(23.0) 好于 new Complex(23.0) - 每个概念对应一个词。