近日,从网上下载了阿里云栖社区发布的《阿里巴巴Java开发手册(正式版)》v1.1.0版。从编程以来,一直苦于没有相关的、全面的、靠谱的规范能够参考,有了这手册,往后编程也算是找到了依据。瞧,人家阿里都是按照这规则来操做的!面试
云栖社区此举对于普通Java开发者来讲,算是功德无量,在必定程度上规范了Java开发者的编程习惯。为后来者谋福利了。编程
这本手册一共分为五个部分,包括了编程规约、异常日志、MySQL规约、工程规约、安全规约。基本上从编码的各个方面都细细的理了一遍,感受彻底能够当作是公司招人的面试题,用来考较对方的编码习惯,甚至也能在必定程度上能推断出对方的编码水平,毕竟高的编码水平,其编码习惯确定不会差到哪去。安全
手册的内容约束分为三种级别,分别为强制、推荐、参考。强制,即必须听从的编码规范;推荐,则表示最好听从该规范,有利于提升代码水平;参考,则表示须要了解便可。并发
花了一个上午,仔细地将这篇手册阅读了一番,结果只看了编程规约这部分,从中摘录了一些规约,我以为往后在编码过程当中须要注意及提高的地方。框架
A) Service/DAO 层方法命名规约
1) 获取单个对象的方法用 get 作前缀。
2) 获取多个对象的方法用 list 作前缀。
3) 获取统计值的方法用 count 作前缀。
4) 插入的方法用 save(推荐) 或 insert 作前缀。
5) 删除的方法用 remove(推荐) 或 delete 作前缀。
6) 修改的方法用 update 作前缀。
B) 领域模型命名规约
1) 数据对象: xxxDO, xxx 即为数据表名。
2) 数据传输对象: xxxDTO, xxx 为业务领域相关的名称。
3) 展现对象: xxxVO, xxx 通常为网页名称。
4) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。
点评:由于公司人来人往的缘故,对方法的命名历来都是本身按照本身的那套玩。就我我的习惯而言,只要是获取对象所有都是get作前缀,阿里的这种作法的确能够用来参考参考。工具
说明: 在方法执行抛出异常时,能够直接调用 POJO 的 toString()方法打印其属性值,便于排查问题。测试
说明: 扩展说一下 PECS(Producer Extends Consumer Super)原则: 1) 频繁往外读取内容的,适合用上界 Extends。 2) 常常往里插入的,适合用下界 Super。阿里云