改善代码的20条规范
1. 关于命名
- 命名的关键是能准确达意,对于不同作用域的命名,我们可以适当的选择不同的长度。作用域小的变量(比如临时变量),可以适当的选择短一些的命名方式,除此之外,命名中也可以使用一些耳熟能详的缩写
- 我们可以借助类的信息来简化属性,函数的命名,利用函数的信息来简化函数参数的命名
- 命名要可读,可搜索,不要使用生僻的,不好读的英文单词来命名。除此之外,命名要符合项目的统一规范,不要用些反直觉的命名
- 接口有两种命名方式:一种是再接口中带前缀“I”;另一种是再接口的实现类中带后缀“impl”。对于抽象类的命名,也有两种方式,一种是带上前缀“Abstract”,一种是不带前缀。这两种命名都可以,关键是要在项目中统一
2. 关于注释
- 注释的目的就是让代码更容易看懂,只要符合这个要求的内容,你就可以将他写到注释里,总结一下,注释的内容主要包含这三个方面:做什么,为什么,怎么做。对于一些复杂的类和接口。我们可能还需要写明“如何用”。
- 注释本身有一定的维护成本,所以并非越多越好,类和函数一定要写注释,而且要写的尽可能全面,详细,而函数内部的注释要相对少一些,一般都是靠好的命名,提炼函数,解释性变量,总结性注释来提高代码的可读性 。
3. 函数,类多大才合适
函数的代码不要超过一屏幕的大小,比如50行,类的大小限制比较难定。
4. 一行代码多长合适
最好不好超过IDE显示的宽度,当然,限制也不能太小,太小会导致很多稍微长点的语句被折成两行,也会影响到代码的整洁,不利于阅读
5. 善用空行分割单元块
对于比较长的函数,为了让逻辑更加清晰,可以使用空行来分割各个代码块,在类内部,成员变量与函数之间,静态成员变量与普通成员变量之间,函数之间,甚至成员变量之间,都可以通过添加空行的方式,让不同模块的代码之间的界限更加明确
6. 四格缩进还是两格缩进?
推荐两
7. 大括号是否另起一行
随意,看团队
8. 类中成员的排列顺序
在google java 编程规范中,依赖类按照字母顺序从大到小排列,类中先写成员变量后写函数,成员变量之间或函数之间,先写静态成员变量或函数,后写普通变量或函数,并且按照作用域大小一次排列。
9. 关于编码技巧
- 将复杂的逻辑提炼拆分成函数和类。
- 通过拆分成多个函数或将参数封装为对象的方式,来处理参数过多的情况。
- 函数中不要使用参数来做代码执行逻辑的控制。
- 函数设计要职责单一。
- 移除过深的嵌套层次,方法包括:去掉多余的 if 或 else 语句,使用 continue、break、return 关键字提前退出嵌套,调整执行顺序来减少嵌套,将部分嵌套逻辑抽象成函数。
- 用字面常量取代魔法数。
- 用解释性变量来解释复杂表达式,以此提高代码可读性。