快速改善代码质量的20条编程规范
主要分为三大块:
命名和注释 (Naming and Comments)
命名(Naming)
-
命名多长最合适?
-
利用上下文简化命名
-
命名要可读、要可搜索
-
如何命名接口和抽象类?
注释(Comments)
-
注释到底该写什么?
/** * (what) Bean factory to create beans. * * (why) The class likes Spring IOC framework, but is more lightweight. * * (how) Create objects from different sources sequentially: * user specified object > SPI > configuration > default object. */ public class BeansFactory { // ... }
这样写注释的主要观点如下:
注释比代码承载的信息更多
:类名的命名不够详尽,需在注释中写明“做什么”,因为类中包含的信息较多。函数命名则不一样,一个好的命名却可以准确表达函数的功能,这时可以不需要在注释中解释它是做什么的。注释起到总结性作用、文档的作用
:在注释中,关于具体的代码实现思路,我们可以写一些总结性的说明、特殊情况的说明。这样能够让阅读代码的人通过注释就能大概了解代码的实现思路,阅读起来就会更加容易。实际上,对于有些比较复杂的类或者接口,我们可能还需要在注释中写清楚“如何用”,举一些简单的 quick start 的例子,让使用者在不阅读代码的情况下,快速地知道该如何使用。一些总结性注释能让代码结构更清晰
:对于逻辑比较复杂的代码或者比较长的函数,如果不好提炼、不好拆分成小的函数调用,那我们可以借助总结性的注释来让代码结构更清晰、更有条理。
-
注释是不是越多越好?
代码风格(Code Style)
-
函数、类多大才合适?
-
一行代码多长最合适?
-
善用空行分割单元块
-
四格缩进还是两格缩进?
-
大括号是否需要另起一行?
-
类中成员排列顺序
编程技巧(Coding Tips)
-
把代码分割成更小的单元块
-
避免函数参数过多
-
勿用函数参数来控制逻辑
-
函数设计要职责单一
-
移除过深的嵌套层次
-
学会使用解释性变量
统一编码规范 (Uniform Coding Standards)
那就是,项目、团队,甚至公司,一定要制定统一的编码规范,并且通过 Code Review 督促执行,这对提高代码质量有立竿见影的效果。
说明:本文内容摘抄自极客时间《设计模式之美》专栏