java编程规范试题_阿里巴巴Java编程规范考试

类名使用UpperCamelCase风格, 但以下情形例外: DO / BO / DTO / VO / AO / PO 等, 如UserDO等。在阿里巴巴Java编程规范中POJO(Plain Ordinary Java Object)专指只有setter / getter / toString 的简单类, 包括DO / BO / DTO / VO 等, 禁止命名成xxxPOJO。

定义DO / DTO / VO 等POJO类时, 不要设定任何属性默认值。

定义数组: 类型与中括号紧挨相连来定义, 如int[] arrayDemo, 不能使用“String args[]”这种方式。

包名统一使用小写, 单数形式; 类名如果有复数含义,可以使用复数形式;例如:包名com.alibaba.ai.util, l类名MessageUtils。

任何二目、三目运算符的左右两边都需要加一个空格, 注意一目运算++ 是不需要加空格的。

单行字符数限制不超过120个, 单个方法的总行数不超过80行。

序列化类新增属性时, 请不要修改serialVersionUID字段, 避免反序列化失败; 如果完全不兼容升级, 避免反序列化混乱, 那么请修改serialVersionUID值。

慎用Object的clone方法/BeanUtil的copy方法来拷贝对象, 若想实现深拷贝需要重写clone方法实现属性对象的拷贝。

ArrayList的subList的类型是java.util.RandomAccessSubList, 是ArrayList的一个视图, 不能强转成ArrayList; 对于SubList子列表的所有操作最终会反映到原列表上; 对原列表的修改, 会导致子列表的遍历、增加、删除均会产生ConcurrentModificationException异常; 同时, subList没有实现Serializable接口, 若RPC接口的List类型参数接受了SubList类型的实参,则在RPC调用时会报出序列化异常。比如我们常用的guava中的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值