0%

Java项目编写中需要注意的地方

最近在改公司的一些老项目,老项目中很多代码通不过Sonar检查(有关Sonar的介绍),特此记录下一些比那些代码中容易忽略或者发生的一些问题

  • 一定要关闭 IO 流,一般放在 finally 块中(或使用try-with-resources)
  • 不要直接返回静态数组的引用,应该返回一个 copy
  • 不要在循环中使用”+”构建字符串,而是使用 StringBuilder 的 append() 方法来构建,使用”+”构建会导致大量的对象创建,效率低
  • 不要在代码中使用和文件系统有关的绝对路径
  • 操作新建对象前记得进行 null 检查
  • 重写 compareTo() 的时候必须保证 (x.compareTo(y)==0) == (x.equals(y)),也就是也
  • 该重写 equals 方法,重写 equals() 的时候还需要重写hashCode() 方法
  • 不要将 DateFormats 声明成 static 的,因为DateFormats不是线程安全的
  • 使用 PreparedStatement 而不是 Statement,可以防止SQL注入