认知
编码风格主要是提高代码的可读性。现在的系统很难是独自实现的,所以统一的风格也对可维护性、可靠性、可用性同样重要。编码的风格在很大程度上决定着程序的质量。
各个语言有各自细微的风格差别,不同文化的团队也会有所差异。而且也可能不同的行业有不同的风格。
Java开发栈的代码风格前后有Sun、Google等国际大厂公开了他们的风格指南。在国内,阿里也公开了自己的规范,并在迭代更新,有众多追随者,虽然有些偏向金融领域。当然,他们公开的指南,并不只针对Java。编码规范和效率
读多于写
看别人的代码多于看自己代码
习惯价值大于能力
代码的正确性 > 可维护性 > 效率
如何写好代码 > 如何正确地写代码编码风格的关注方面可读性
方法简短扼要
类、变量、方法的名称能够描述要实现的功能
变量定义在最靠近使用的地方
约定优先,类似事物相同风格
代码格式统一
层次、结构清楚明了
注释关键点
注释非常规点可靠性
最小惊奇原则,任何行为可预见
避免使用未知的、过时的、已知风险的API
遵从最佳实践,优先使用开源工具包,及设计模式
规避语法上的缺陷
单元测试
输入检查,异常处理可维护性
单一职责,类,方法,变量用于单一目的
封装固化的功能,变化的业务开放修改
隔离、提取复杂业务
功能需求和非功能需求实现分离常见的规范内容1. 命名
达意,英文,驼峰结构,动+名。
不要使用非公认简写。
包名小写,类名首字母大写,方法、属性、变量名首字母小写,常量大写加下划线。
接口Service,实现Impl,Abstract抽象,测试Test。2. 代码格式
先申明包,再import,再申明类。
类里面静态属性在前,再普通属性,其次是方法,如果有构造器,一般也在前面(空参数构造器在前),各部分都带空行。
方法体内,先检查,再逻辑,变量就近申明。注:get和set方法IDE自动生成。
缩进是4个空格(可在IDE中设置Tab是4个空格)。
代码段落之间需要缩进。
每行至多包含一条语句。
不同业务逻辑块之间空行。3. 注释
为每个类、接口、方法、字段添加 Javadoc注释(除了set/get)。
为复杂的方法体内部加普通注释。4. 最佳实践
少用魔术数字、魔术字符
静态的属性方法用类名引用。
不可连续赋值。尽量简化赋值操作。
小心使用多线程
尽量使用第三方集合工具类,时间类。
接口需要单元测试
异常不做业务判断
分层架构中的每层做自己的事,向下依赖5. 数据库
命名统一,且不使用复数名词
一定要有主键,创建人,创建时间
尽量不使用不走索引的查询
超过三个表禁止 join
不使用存储过程6. 日志规范
定义统一的文件,各系统引入。
日志控件尽量使用Logback(旧的是Log4J),代码中尽量slf4j工具包。
字符串拼接使用{}占位符。
开发时使用Debug级别。线上使用Info级别。注,框架级日志级别Error。
留言与评论(共有 0 条评论) |