阿里Java开发规范记录(一)
近日,从网上下载了阿里云栖社区发布的《阿里巴巴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做前缀,阿里的这种做法的确可以用来参考参考。
OOP规约
说明: 在方法执行抛出异常时,可以直接调用 POJO 的 toString()方法打印其属性值,便于排查问题。
说明: 扩展说一下 PECS(Producer Extends Consumer Super)原则: 1) 频繁往外读取内容的,适合用上界 Extends。 2) 经常往里插入的,适合用下界 Super。
阿里Java开发规范记录(一)的更多相关文章
- 阅读阿里Java开发手册记录
概述 在阅读完阿里Java开发手册(嵩山版)后,发现自己在开发过程中有一些没有按照规范开发的情况,这里将容易忘记的规范记录下来,并且添加自己的理解,一方面方便自己巩固记忆,另一方面希望对其他同学能够提 ...
- 阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结
现在收集到如下有用的信息: 阿里巴巴公开的Java开发规范:https://yq.aliyun.com/articles/69327?utm_content=m_10088 google公开的Java ...
- 阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)
浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般 ...
- 阿里java开发规范 强制约束
http://news.51cto.com/art/201901/591018.htm :阿里开发强制要求的11条索引创建规范,提高性能 https://blog.csdn.net/Lujunwei ...
- Java代码规范_插件_阿里java开发手册
给大家分享一个阿里巴巴的java开发规范,在日常自动化工作中我们可以参考一下,特别是用java进行coding的同学. 而且还可以利用相应的插件进行代码扫描检测,感兴趣的们可以马上应用到自动化中来. ...
- 阿里JAVA开发手册零度的思考理解(一)
转载请注明原创出处,谢谢! 缘由 阿里JAVA开发手册已经发表有很长时间了,值得认真研究思考推广 阿里官方的Java代码规范标准,这份开发手册不仅规范了一些开发细节,也提出了很多工程开发的哲学,值得好 ...
- MyEclipse中阿里JAVA代码规范插件(P3C)的安装及使用
JAVA代码规范插件(P3C)是阿里巴巴2017年10月14日在杭州云栖大会上首发的,使之前的阿里巴巴JAVA开发手册正式以插件形式公开走向业界.插件的相关信息及安装包都可以在GitHub(https ...
- IDEA中阿里JAVA代码规范插件(P3C)的安装及使用
JAVA代码规范插件(P3C)是阿里巴巴2017年10月14日在杭州云栖大会上首发的,使之前的阿里巴巴JAVA开发手册正式以插件形式公开走向业界.插件的相关信息及安装包都可以在GitHub(https ...
- eclipse安装阿里巴巴java开发规范插件
阿里巴巴java开发规范插件 作为JAVA开发人员,始终没有一个明确的规范,何为好代码,何为坏代码,造成不同人的代码风格不同,接手别人代码后改造起来相当困难.前不久,阿里巴巴发布了<阿里巴巴Ja ...
随机推荐
- ZC_RemoteThread
1.Z_WinMain.cpp #include <windows.h> #include "resource.h" #include "Z_RemoteFu ...
- ZC_03_创建对象
1. 正如 上一篇文章中所见,反射创建 类实例的方式,主要为2类: (1).Class对象.newInstance() 这是使用 默认的无参构造函数 创建对象 (2).Constructor对象.ne ...
- ElasticSearch数据副本模型
介绍 ES里面的每一个索引(Index)由多个shard组成,每一个shard有多个副本.这些副本被称为同步组.当增加或者删除文档时,这些副本之间必须保持同步,以便让所有副本都能包含相同的文档.如果同 ...
- Android并发编程之白话文详解Future,FutureTask和Callable
从最简单的说起Thread和Runnable 说到并发编程,就一定是多个线程并发执行任务.那么并发编程的基础是什么呢?没错那就是Thread了.一个Thread可以执行一个Runnable类型的对象. ...
- flash滚动图片遮住二级下拉菜单解决方法
如上图所示,在进行排版时,如果不注意会遇到二级下拉菜单被下边的img图片遮住.此种情况在ie7 8 中出现. 解决方法:给二级下拉菜单添加z-index:9999;position:relative; ...
- 【Demo】CSS3 3D转换
3D转换transform rotateX() 方法 rotateX()方法,围绕其在一个给定度数X轴旋转的元素. div { transform: rotateX(120deg); -webkit- ...
- Java多线程编程总结
Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调 ...
- iOS-免证书真机调试
使用方法: 1.新建一个普通的项目 2.进入xcode,菜单栏选择xcode –> preferences (快捷键 command + ,) 3.在Accounts选项卡添加自己的Apple ...
- https://www.adminsub.net/tcp-udp-port-finder/14000 ——查找tcp端口对应的服务 可以看某些端口是否让恶意软件开启
效果: TCP/UDP Port FinderPort number or name:Enter port number (e.g. 21), service (e.g. ssh, ftp) or t ...
- CentOS7 安装ifconfig
As we all know, “ifconfig” command is used to configure a network interfaces in GNU/Linux systems. I ...