01_编程规约——OOP规约
1.【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,避免增加编译器解析成本,直接用“类名.变量名”访问即可。 2.【强制】所有的覆盖方法,必须加@Override注解 说明:加@Override可以准确判断是否覆盖成功,另外如果在抽象类中对方法签名进行修改,对应的实现类会马上报编译错误。 3.【强制】相同的参数类型,相同业务含义,才可以使用Java的可变参数(Integer... ids),避免使用Object。(注意:尽量不要用可变参数编程) 说明:可变参数必须放在参数列表的最后。 非得使用的话,例子:public User getUsers(String type, Integer... ids){...} 4.【强制】外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用产生影响。接口过时必须加@Deprecated注解,并清晰地说明采用的新接口或者新服务是什么。 5.【强制】不能使用过时的类和方法。 6.【强制】Object的equals方法容易抛空指针异常,应该使用常量或者确定有值的对象来调用equals方法。 正例:"test".equals(object) 反例:object.equals("test") 说明:推荐使用java.util.Objects#equals 7.【强制】所有的相同类型的包装类对象之间的值比较