- Seiri 正确的命名标识符
- Seiton 整齐
- Seiso 清洁 注释掉的代码,说明不需要了
- Seiketsu 标准化
- Shitsuke 自律 持续完善
- 细节中自有天地
童子军军规
- 上传的代码比下拉的代码更干净
- 改好一个证明的变量名
- 拆分过长函数
- 消除重复的代码
- 清理嵌套的If
有意义的命名
- 使用可搜索的名称
- 类型改变时,变量名同步
- 类名是名词或者名词短语,不应是动词
- 方法应该是动词或动词短语
- 静态类无参构造函数
- 每个概念对应一个词 如Controller和Manager
- 尽可能用计算机术语 如JobQueue
函数
- 短小 20行封顶最佳
- 函数只做一件事 判断标准:能否在拆出一个函数
- 函数的参数 无参>一个>多个
- 函数的标识参数如果带了bool值,说明这个函数至少要做两件事情(3.6.5不赞同)
- 指令和询问分隔开来 (Exists,Add)
- 需要多重判断的方法,使用tryCatch替代各种日志打印
- TryCatch中的代码块抽离为单独的函数
- 如何写好规范函数,遵循规则,逐步打磨,没有人能一开始就写出规范的函数
注释
- 尽量减少注释(不赞同)
- 注释不能代替屎山
对象和数据结构
- 得墨忒耳律
final String outputDir = ctxt.getoptions().getScratchDir().getAbsolutePath() - 区分数据结构和对象,存放数据的结构不能喝对象混用
错误处理
- 尽量别返回空值,别传递空值
单元测试
- 测试代码和正式代码一样重要,要遵守设计规范
- 构造测试数据
- 操作测试数据
- 检验操作是否得到期望结果
类
- 变量和方法应该有各自的位置,从上至下,不要穿插书写
- 高内聚 -每个变量都被每个方法所使用,该类具有最大的内聚性
系统
- 系统构造和使用分开 不要使用延迟初始化/赋值 生命周期流程不明
评论