命名
名副其实
- 选一个好的名称,见名知意.
- 避免魔法数(可以添加一个类,类中添加方法,可以避免if判断的魔法值)
避免误导
- 变量名不要用专有名词
- 如果不是List或Map集合变量名中不要带List或Map
- 避免使用不同之处比较小的命名
有意义的命名区分
- 命名中不要有废话如变量中带Variable表名中带table
- 不要用数字区分命名
- 不要出现意义相同的不用命名或用意义相同的区分两个字段(如data和info)
- 常量名称使用可以搜索的名称,不要用一个字母代替
前缀
- 成员变量前面不要使用前缀(现在基本已经都不用了)
- 接口的前缀不要加(要加区分可以在实现类中加Impl)
类名
- 类名和对象名用名词或名词短语,避免用动词
方法名
- 方法名与类名相反,尽量用动词或动词短语.属性的访问修改依照Javabean标准,get、set…前缀.
别耍宝
- 别用俗语或脑电波类的命名.(别人阅读的时候一般对不上你的脑电波)
每个概念对应一个词
- 给每一个抽象选一个词,并且一以贯之,不要一个用controller一个用manager等.
别用双关语
- 如把单个参数放入到集合中,尽量用inset或append不要用add这个双关语.
使用领域名词解决方法
- 阅读代码的人一般都为程序员,尽量用程序员熟悉的术语.
- 如果不能用程序员的术语解决名词问题,就用问题所涉及的领域术语进行命名.
添加有意义的语境
- 有些名词不能单独的自我说明,但是如果将他放到相应的类中就可以让别人读懂.
- 不要添加无意义的语境,这样只会和自己的IDE过不去,只要短名能表达清楚就会比长名好.