##Android 编码规范
- 不许留下空的Catch语句,对Catch一定要处理。如果不处理请注明原因,或者向方法的调用者跑出异常。
- 不要去捕获顶级异常,使用多个catch去捕获不同的小异常。
- 不要使用finalizers,因为它的执行时机是不确定的。
- 如果代码超过了40行就应该考虑在不损坏程序代码结构的情况下进行拆分!
- 尽可能的使用局部变量,变量的影响范围越小越好。
- 应该在第一次使用局部变量的地方进行声明,几乎所有的局部变量都应该进行初始化,如果缺少做够的信息来正确的初始化,应该推迟变量的声明,等到有足够的信息之后再进行初始化!
- 循环变量都应该在for语句内进行声明。
- 使用8个空格来对换行后的代码进行缩进。
- 非public和非static字段命名时以m开头,static字段命名以s开头,其他字段以小写字母开头。
- public static final 常量字段全部字母大写,并用下划线进行分隔。
- 大括号不能单独占用一行。
- if之后必须加上大括号,避免省略大括号的情况出现。(自己)
- if的嵌套结构不能超过两层(自己)
- 每行不能超过100个字符。
- 如果使用了
@Deprecated
来注解一个方法,那么必须使用@deprecated Javadoc
标记来指明替代方法。 @SupperWarning
用于无法消除的编译警告,但是此处经过严格确认是无误的,才可用@SuperWarning
。当需要使用@SuperWarning
的时候必须加上TODO
用于解释不能消除的Warning
的原因- 简称等同于单词,因此应该将简称当做正常的单词来处理。
eg:XmlHttpRequest优于XMLHTTPRequest
- 约定:在一个模块编写测试完成后删除掉所有的Log。
- 遵守Java Test命名规范:
test方法名_测试条件testIsDistinguishable_protanopia();
##面向对象开发原则 SOLID
- 单一职责:方法功能必须单一,条条大路通罗马,只能罗马!
- 开闭原则:对扩展开放,对修改封闭。
- 里氏替换原则:所有的父类都应该能被子类替换,并且不改变当前代码的行为
- 依赖导致原则:所有的类都应该依赖接口,不应该依赖具体的实现。
- 接口隔离原则:根据客户端的需要来创建接口,而不是客户端的实现,禁止出现让客户端实现他们不需要的接口。