【仅供内部供应商使用,不提供对外解答和培训】

Page tree

【仅供内部供应商使用,不提供对外解答和培训】

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

1.强制Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals,在不确定的情况下,需要使用工具方法ComparatorUtils#equals进行对象比较。

注意:如果为了更高的效率,也可以调用AssistUtils#equals。

正确的写法 折叠源码

 

    // do something
}
if ("abcde".equals(op)) {
   // do something
}

 

错误的写法 折叠源码

 

if (a.equals(b)) {
   // do something
}

 

2.在集合(List、Set、Map等)是否为空的是否,不允许使用 list.size() == 0的方式来判断,必须使用 list.isEmpty()。

3.配置文件的属性,都要求加上@Identifier注解,防止出现属性名重构修改的时候,持久化名字未做兼容。

正确的写法 折叠源码

 

@Identifier("privateSHA256Key")
private Conf<String> privateSHA256Key = Holders.simple("aki8r-mk89t-pety2-mndu8-9wrth-nht3r-012jd");

 

错误的写法 折叠源码

 

private Conf<String> smsAppKey = Holders.simple(StringUtils.EMPTY);
 
private Conf<String> smsAppSecret = Holders.simple(StringUtils.EMPTY);

 

4.重写hashCode和equals方法,需要使用下面的模板形式,不得使用IDEA自动生成的代码:

正确的写法 展开源码错误的写法 展开源码

5.重写toString方法,尽量使用下面的模板形式,不要使用IDEA自动生成的代码:

toString写法 展开源码

如果希望排除掉一些属性加入toString中,可以用

忽略某些属性 展开源码

6.com.fr.report.core下的类,禁止被其他包下的类引用

错误的用法 展开源码

7.推荐使用枚举模式写单例,天然线程安全且简洁

单例示例 展开源码
  • No labels