最近之前参加了公司组织的‘代码整洁之道’培训,感觉受益匪浅,其中提到一个挺有意义的代码规范原则,称为‘最简代码规范’,这个规范尤其对新手有帮助,遵守这些简单的规范可以快速提高代码质量。
内容如下(以下的'='号可以理解为:'写成'或者'优化成'):
1.变量命名
- 类名 = 名词
- 方法名 = 动词/动宾短语
- Boolean类型变量 = is+形容词/is+动词的过去分词
- 普通变量 = 名词单数
- 集合变量 = 名词复数
- map = key2Value的格式
- 变量名称 = 写成变量类型的名称
2.消除常量
- 普通常量 = 定义过的常量
- 取值类型有限常量 = 枚举
- 类名/全局变量名/方法名 = 反射(我的理解:反射性能消耗相对较大,但对大多数应用来说是可以接受的,使用反射和注解可以大幅度减少代码量,消除重复代码)
3.消除else/case分支
- 双分支 = 直接删除并返回(我的理解:例如if..else结构,可以只用一个if,if结尾return,else内容在if之外,这样代码便于理解,可读性比较好)
- 简单分支 = 三元表达式
- 数据变换 = map/dictionary (我的理解,类似if(i==1)...if(i == 2)的代码,对应关系可以用类似map的结构表示,map的key为1和2,value为if中需要的某些值)
- 类型不同 = 泛型/模板(泛型是一个不错的机制,可以适应不同的参数/返回值类型,减少重复代码)
- 流程相同流程细节不同 = 抽象类/方法(提取出流程中公共使用的方法,不同的方法写成抽象方法,是常用的代码优化方法)
- 流程不同 = 多态(我的理解就是提取接口,然后不同的流程实现)
4.消除过长方法
- 顺序结构 = 分割方法
- 长条件结构 = 抽象方法
- 多分支结构 = 消除分支
5.消除双层for循环(甚至是多层for循环)
- 双层for循环 = 两层1:n对象(使用两个对象1:n的对象关系消除多重循环,代替原来把多重循环写在一个对象/类里边)
6.消除循环游标和迭代器(推荐使用foreach)
- for in i = foreach
- iterator = foreach