代码扫描规则
阻断级规则
- 单函数代码行不宜超过一屏
- 单个类代码行不宜超过1500行
- “System.out.println();”这种打印语句,在程序完成后必须去掉
- 禁止使用float和double进行金额的加减乘除运算,必须使用
java.math.BigDecimal
对金额进行运算,两个构造函数BigDecimal(double val)
和BigDecimal(String val)
强烈要求使用后者,因为前者的结果存在一些不可以预测的结果,仍然没有达到精确计算的精度。 - 类不能自定义hashCode()方法
- final表示的类不能有projected属性
Apache Commons Lang
包里的DateUtils.truncate()
不能用- 类
java.lang.Error
不能被继承 equals(Object obj)
和compareTo(T obj)
方法应该一起被重写- 不要定义类方法去隐藏父类的类方法
- 类自定义了equals方法,那么同样必须定义hashcode方法
- clone方法不能被重写
- 重写或者实现一个方法应该加
@Override
- 不能使用
ConcurrentLinkedQueue.size()
- 实现
iterator.hasNext()
方法不要调用iterator.next()
- 实现
iterator.next()
要抛出NoSuchElemen