《代码整洁之道》阅读笔记01

命名1.避免误导

  • "一组账号"别用accountList表示,List对程序员有特殊含义,可以用accountGroup、bunchOfAccounts、甚至是accounts
  • 不使用区别较小的名称,ZYXControllerForEfficientHandlingOfStrings和ZYXControllerForEfficientStorageOfStrings难以辨别
  • 不使用小写l、大写O作变量名,看起来像常量1、0

2.做有意义的区分

  • 不以数字系列命名(a1、a2、a3),按照真实含义命名
  • Product/ProductInfo/ProductData 意思无区别,只统一用一个
  • 别写冗余的名字,变量名别带variable、表名别带table

3.使用可搜索的名称

  • 单字母名称和数字常量很难在上下文中找出。名称长短应与其作用域大小相对应,越是频繁出现的变量名称得越容易搜索(越长)

4.命名时避免使用编码

  • 把类型和作用域编码进名称里增加了解码负担。意味着新人除了了解代码逻辑之外,还需要学习这种编码语言。
  • 别使用匈牙利语标记法(格式:[Prefix]-BaseTag-Name 其中BaseTag是数据类型的缩写,Name是变量名字),纯属多余
  • 不必用"m_"前缀来表明成员变量
  • 接口和实现别在名称中编码。接口名IShapeFactory的前导"I"是废话。如果接口和实现必须选一个编码,宁可选实现,ShapeFactoryImp都比对接口名称编码来的好

5.类名、方法名

  • 类名应当是名词或名词短语,方法名应当是动词或动词短语

6.每个概念用一个词

  • fetch、retrieve、get约定一个一直用即可

7.别用双关语

  • add方法一般语义是:根据两个值获得一个新的值。如果要把单个值加入到某个集合,用insert或append命名更好,这里用add就是双关语了。

8.添加有意义的语境

  • 很少有名称能自我说明,需要用良好命名的类、函数、或者命名空间来放置名称,给读者提供语境,如果做不到的话,给名称添加前缀就是最后一招了。
原文地址:https://www.cnblogs.com/zaixiachengxuyuan/p/14941477.html