变量命名
- 包名全部小写:
如:com.example.project.activity
- 类名和接口名采用大驼峰命名
如:SignInActivity
- 常量,字母全大写,使用_分割单词:
如:ERROR_CODE
- 变量遵从语言规范,避免缩写,变量名要突显其意义:
变量和方法采用小驼峰命名,如:userInfo
- 关于前缀:
单例变量:单词加上前缀s,如:加sInstance
私有全局变量:单词加上前缀m,如:加mContext
方法组织
- 方法的命名,不要词不达意
- 如果找不到合适的名字对该方法命名,说明该方法体内容过于复杂
- 注意方法的拆分,各行其职,遵循单一职责
- 上层API注意稳定性,下层API注意性能
代码注释
- 只在关键的地方加注释
- 合理的命名以期望达到读代码像在读注释一样
异步处理
- 添加逻辑判断,尽量避免出现异常
- 实在处理不了才使用try-catch,并打印错误日志
锁和同步
- 代码要注意线程同步
- 避免死锁
设计模式
- 单一职责
- 开闭原则(对扩展开放,对修改关闭)
- 里氏替换原则(参数传递应使用基类)
- 依赖反转(依赖抽象,不要依赖具体)
- 最小接口原则
- 迪米特法则(高内聚,低耦合)