Skip to main content

代码规范

David LiuAbout 1 min

代码规范

命名规范

https://blog.csdn.net/csdn_life18/article/details/126335665open in new window

http://t.zoukankan.com/leon618-p-7469638.htmlopen in new window

常量规范

类定义和接口定义常量对比

类定义常量和接口定义常量:

  1. 类定义常量, 需要定义成 final 且定义一个 private 的构造方法, 这样做是为了不让其他类继承, 禁止实例化此类,

调用时直接以"类.常量"的方式调用.

  1. 接口中定义的"变量", 其实就是常量, 接口中的"变量"默认都是 "public static final"类型, 即为常量,

因此接口可以省略"public static final"而直接写成 "type variable".

  1. 用如上的类定义常量, 不能实例化也不能被继承, 看起了完美无缺;

  2. 接口定义常量, 虽不能实例化, 确可以被其他类实现;

因此有这么一种设计模式"The constant interface pattern". 所谓的"常量接口模式", 就是其他类要使用接口中定义的常量,

就实现该接口. 我认为这是对接口的烂用. 接口中定义的常量应为所有类频繁使用的常量, 但并不是每个类都使用了接口中定义的所有常量,

因而导入了不必要的常量到这个类中, 并且导入后这个类的子类也会基础导入的常量, 这样会导致混乱, 应当避免此种用法.

  1. 在 interface 和 class 中定义相同的常量, interface 生成的 class 文件比 class 生成的 class 文件会更小, 而且更简洁, 效率更高

所以我更喜欢把常量定义在接口中。