编码规范总结

##Android 编码规范

  1. 不许留下空的Catch语句,对Catch一定要处理。如果不处理请注明原因,或者向方法的调用者跑出异常。
  2. 不要去捕获顶级异常,使用多个catch去捕获不同的小异常。
  3. 不要使用finalizers,因为它的执行时机是不确定的。
  4. 如果代码超过了40行就应该考虑在不损坏程序代码结构的情况下进行拆分!
  5. 尽可能的使用局部变量,变量的影响范围越小越好。
  6. 应该在第一次使用局部变量的地方进行声明,几乎所有的局部变量都应该进行初始化,如果缺少做够的信息来正确的初始化,应该推迟变量的声明,等到有足够的信息之后再进行初始化!
  7. 循环变量都应该在for语句内进行声明。
  8. 使用8个空格来对换行后的代码进行缩进。
  9. 非public和非static字段命名时以m开头,static字段命名以s开头,其他字段以小写字母开头。
  10. public static final 常量字段全部字母大写,并用下划线进行分隔。
  11. 大括号不能单独占用一行。
  12. if之后必须加上大括号,避免省略大括号的情况出现。(自己)
  13. if的嵌套结构不能超过两层(自己)
  14. 每行不能超过100个字符。
  15. 如果使用了@Deprecated来注解一个方法,那么必须使用@deprecated Javadoc标记来指明替代方法。
  16. @SupperWarning用于无法消除的编译警告,但是此处经过严格确认是无误的,才可用@SuperWarning。当需要使用@SuperWarning的时候必须加上TODO用于解释不能消除的Warning的原因
  17. 简称等同于单词,因此应该将简称当做正常的单词来处理。eg:XmlHttpRequest优于XMLHTTPRequest
  18. 约定:在一个模块编写测试完成后删除掉所有的Log。
  19. 遵守Java Test命名规范:test方法名_测试条件testIsDistinguishable_protanopia();

##面向对象开发原则 SOLID

  1. 单一职责:方法功能必须单一,条条大路通罗马,只能罗马!
  2. 开闭原则:对扩展开放,对修改封闭。
  3. 里氏替换原则:所有的父类都应该能被子类替换,并且不改变当前代码的行为
  4. 依赖导致原则:所有的类都应该依赖接口,不应该依赖具体的实现。
  5. 接口隔离原则:根据客户端的需要来创建接口,而不是客户端的实现,禁止出现让客户端实现他们不需要的接口。