常量定义
-
不允许任何未经定义的常量直接出现代码中
-
** long或Long初始赋值时,使用大写的L,不用小写的l(易于“1”混淆)**
- 子工程内部共享常量:即在当前子工程的constant目录下
- 包内共享常量:即在当前包下单独的constant目录下
- 类内共享常量: 直接在类内部private static final 定义
代码格式
- 方法参数在定义和传入时,多个参数逗号后边必须加空格
Eg(+): 实参的"a",后边必须要有一个空格:method(“a”, “b”, “c”)
OOP规约
-
避免通过一个类的对象引用访问此类的静态变量或静态方法,直接通过【类名】进行访问即可
-
所有的【覆写方法】,必须加上@override注解
-
不能使用过时的类或方法
java.net.URLDecoder中的方法decode(String encodeStr)已经过时,应该使用双参数decode(String source, String encode)。
- Object的equals方法容器抛出空指针异常,应使用常量或有值得对象来调用equals
Eg(+): “test”.equals(object);
Eg(-): object.equals(“test”);
-
所有得相同类型得包装类对象之间得值得比较,全部使用equals方法比较
- 所有得POJO类属性必须使用包装数据类型
- RPC方法的返回值和参数必须使用包装类型
- 所有的局部变量使用基本数据类型
- 定义POJO类不要设定任何属性的默认值
- 构造方法内禁止?加入任何业务逻辑
- 类内方法定义顺序的规则
- 公有方法、保护方法
- 私有方法
- getter/setter方法
-
*字符串的连接使用【StringBuilder的append方法进行扩展】
-
final可以声明类、成员变量、方法以及本地变量。
- 不允许被计策行的类eg:String类
- 不允许修改引用的域对象,eg: POJO类的域变量
- 不允许被重写的方法,eg:POJO类的setter方法
- 慎用Object的clone的浅拷贝方法来拷贝对象
- 类成员与方法访问控制从严
- 如果不允许外部直接通过new来创建变量,其构造方法必须是private
- 工具类不允许有public或default构造方法
- 类非static成员变量并且与子类共享,必须是protected
- 类非static成员变量并且仅在本类使用,必须是private
- 类static成员变量如果在本类使用必须是private
- 若static成员变量,必须考虑是否为final
- 类成员方法只供类内部调用,必须是private
- 类成员内方法只对继承类公开必须使用protected