阿里巴巴开发手册初学者注意点
原创1.【强制】POJO不要在类中添加布尔类型的变量is前缀,否则部分框架解析将导致序列化错误。 反例:定义为基本数据类型。Boolean isDeleted属性,它的方法也是isDeleted(),RPC
阿里巴巴 Java 开发手册
当反向解析框架时,与“错误地”对应的属性名称为deleted,导致该属性无法获取,然后引发异常。
2.[建议]为了达到代码自解释的目的,任何自定义编程元素在命名时都应该使用尽可能完整的单词。
组合来表达它的意思。
正例: 在 JDK 中, 表达 原子更新的类名是: AtomicReferenceFieldUpdater 。
反例: 变量 int a 的 随 意命名 方式。
3.所有相同类型的包装类对象之间的值比较,全部使用。equals方法比较。 描述:Integer var = ? 在-128至127范围内的赋值,Integer对象是在IntegerCache.cache在此时间间隔内,将重复使用现有对象。Integer值可以直接使用==进行判断
4.[强制]全部POJO类属性必须使用包装的数据类型。 【强制】RPC该方法的返回值和参数必须使用包装数据类型。[推荐]所有局部变量都使用基本数据类型。
5.[必选]定义DO/DTO/VO等POJO类,请不要设置任何属性默认值。 反例:POJO类的gmtCreate默认值为new Date()但是,在提取数据时,此属性没有特定值,并且此字段在更新其他字段时也会更新,从而导致创建时间被修改为当前时间。
6.被迫禁止进入。 POJO类,则同时有相应的属性。 xxx的 isXxx()和 getXxx()方法。
说明: 该框架调用该属性。 xxx 在提取方法时,不确定必须首先调用哪个方法。
7.[推荐]使用索引访问String的split当通过该方法获取数组时,需要检查最后一个分隔符之后是否有任何内容,否则会抛出IndexOutOfBoundsException的风险。
说明:
String str = "a,b,c,,";
String[] ary = str.split(",");
// 预期大于3,结果是3
System.out.println(ary.length);
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除