常用Java开发规范整理

常用Java开发规范整理

命名时

  • 接口类中的方法和属性不要加任何修饰符号( public 也不要加),保持代码的简洁性,并加上有效的 javadoc 注释
  • 代码中相同意义的概念的单词可能有多种,在业务中应该统一
  • 禁止中英文混合使用

写注释时

  • 注释不必多,在于精,关键不易懂的地方写注释
  • 对部分代码,可以通过封装一个方法,以方法名来代替注释,通过方法名去知道这段代码的意思
  • 平时一些开发中注释的代码,要及时清理,虽然这些注释不参与运行,但会污染我们读代码

方法调用时

  • 避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成
    本,直接用类名来访问即可。
  • 不能使用过时的类或方法
  • Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals

定义对象时

  • POJO 类属性必须使用包装数据类型
  • 定义 DO/DTO/VO 等 POJO 类时,不要设定任何属性默认值。
  • 构造方法、set方法,get方法里面禁止加入任何业务逻辑

处理异常时

  • 不要捕获 Java 类库中定义的继承自 RuntimeException 的运行时异常类,这类异常由程序员预检查来规避,而不是catch去处理
  • 不要大面积的去 try-catch,这是不负责任的表现。 catch 时请分清稳定代码和非稳
    定代码
  • 捕获异常是为了处理它,不要捕获了却什么都不处理而抛弃之,如果不想处理它,请
    将该异常抛给它的调用者
  • 不能在 finally 块中使用 return
  • 定义异常类时注意区分unchecked / checked 异常

创建数据表时

  • 使用0,1的概念表示yes,no,而不是字符
  • 表名不使用复数
  • 小数使用decimal类型,禁止使用double或者float,避免精度丢失。
  • 列的字符存储长度要根据实际情况而定,不能为了简单而随便写个固定的较大值。
  • 数据库字段应该有注释,字段变更注释也应该更新。

处理日志时

  • 日志需要使用占位符的形式,而不是字符串拼接
  • 日志打印应该清楚明白,什么功能在什么地方,做了什么事情,输入是什么?输出是什么?需要写清楚。一个流程下来,日志要提现这个流程。
  • 不要打印重复的日志,干扰排查。
  • 日志应该使用日志框架打印
  • 日志应该分级别打印,而不是全是info
  • 日志禁止使用中文,中文打印的日志部署到服务器后可能会出现乱码

使用集合时

  • ArrayList 的 subList 结果的ArrayList是一个内部类,使用的时候要注意。
  • list去重时,最好通过转set去重复,而不是通过遍历是否contain去remove
  • 创建list时,可以给定list的初始容量,这样在add的时候,可以减少扩容次数。

使用索引时

  • 常用的查询字段创建索引
  • 数据变动较大的表就不用加索引,因为数据变得导致b+树查询计算消耗性能
  • 建组合索引的时候,区分度最高的在最左边

写sql时

  • 禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。
  • 在代码中写分页查询逻辑时,若 count 为 0 应直接返回,避免执行后面的分页语句。
  • 在代码中写分页查询逻辑时,若 count 为 0 应直接返回,避免执行后面的分页语句。
  • in 操作能避免则避免,若实在避免不了,需要仔细评估 in 后边的集合元素数量,控
    制在 1000 个之内。
  • 在表查询中,一律不要使用 * 作为查询的字段列表
  • POJO 类的 boolean 属性不能加 is,而数据库字段必须加 is_
  • xml 配置中参数注意使用: #{}, #param# 不要使用${} 此种方式容易出现 SQL 注入
  • 不允许直接拿 HashMap 与 HashTable 作为查询结果集的输出。

你可能感兴趣的:(开发规范,java,开发语言)