阿里巴巴Java开发手册与自己开发对照笔记
一编程规约
(一)命名风格

某些时候在命名常量的时候,会觉得太长而减少长度导致命名不清。

抽象类及测试类写得比较少。

这一点值得注意,在开发中,布尔变量我都是使用is开始。

关于包名和类名的单数和复数形式,主要集中在util这里,有时候傻傻分不清楚。看到公司很多项目的帮助类包名都为com.xxx.utils.

有时候嫌变量太长,会搞一些缩写。

开发中不会在接口里定义变量。但会在接口的方法里访问修饰符,公司很多代码接口里都有访问修饰符。

领域模型命名命名基本上没有按照阿里巴巴的规约,当然阿里巴巴也注明了这只是参考,而不是强制。与数据库打交道的数据对象,多半在com.xxx.model包下,命名比较随意,没有加上DO后辍。
一个WEB工程的数据类通常分为三大类:
持久类 包括与数据每张表完全对应的实体类(属性与表字段一一对应),包括实体接收查询结果类(属性与表字段部份对应,比如只需要一个表的部份字段,比如多表联合查询,将多张表的字段组合成一个实体类,以便于接收查询结果)。统一以DO结尾。
响应类 以DTO结尾。如果是JSP可能会直接传回一个实体对象,如果是AJAX的话,直接会加一个json数组。
业务类 比如纯粹传参,包括从控制类传到业务类,控制类接受前端参数类等。比如临时数据传输类,包括从数据库中得到一个列表,需要二次排序,使用一个实体来中间转换。 统一以VO结尾。
(二)常量定义

有时候一个值只在代码中出现1次,会偷懒不去定义变量。

这个问题偶尔会犯。

开发中常量会是一个类,但是里面会根据业务分成许多内部类。
(三)代码格式

这个平时开发中不会出现这种情况,但没有形成严格的禁令。


这个值得注意,开发中确实在犯这种错误。

关于开发中一行代码过长的换行,一般比较随意,比如缩进
sb.appeng("zi").appeng("xin")...
.append("huang")...//为了美观,多半以对齐换行,没有以四个字符换行
而且并于什么时候换行,是以120个为临界点,但有时候是以当前编辑器显示大小来权衡,并没有严格执行。

这个没有形成禁令,有时候能做到,有时候忘记。
(三)OOP规约

这点做得不是很好。

对Integer类型,我都会使用intValue来进行比较。

1),2)没有问题,3)并没有注意。不过这也只是推荐。

这块做得不好。

这条只是推荐。

这条也只是推荐。但是自己在开发过程中对于修饰符的使用相对比较随意。值得思考 。
(七)控制语句

刚开始写Java时有炫技的心态,喜欢这样写,后来就不会了。不过scala表示不服。

开发中会这样去做,但也要权衡具体情况。

这一点也要权衡具体情况吧,”复杂的语句“,怎样才算是复杂呢?
(八)注释规约

方法,类基本都能做到,但类属性上有时候做得不好。确实,在别处调用时,如果看不到注释会非常不方便。同理,常量类,枚举等也应该使用/***/注释,而不是//.
二异常日志
(二)日志规约



五MySQL数据库
(一)建表规约

一是字段命名,一是数据类型

数据库表字段名使用驼峰命名。

对于一些表习惯使用联合主表,摒弃自增主键。
(二)索引规约

通过只在需要通过索引执行查询,使用insert into on dumpcate key update语法时才会去创建唯一索引。可以使用唯一索引做一些数据校验。

前辍索引的缺点是不能进行group by 和order by.

对于mysql来说,limit是个好东西。前提是表数据量在千万级以内,一旦超过这个值,性能急剧下降。很多时候,都要想到这一点。

所有SQL语句都应该使用explain看下执行结果,进行优化。
(四)ORM映射


很多时候为了方便习惯直接使用集合类做为返回类型。

一般情况下都是使用#{},某些特殊情况下也只能使用${}
阿里巴巴Java开发手册与自己开发对照笔记的更多相关文章
- 《阿里巴巴Java工作手册》学习笔记
最近浏览了一下阿里巴巴的Java开发手册,感觉内容确实非常的赞,发现了不少自己在编程中的误区,因此决定通过成文牢固掌握,文中将选取个人认为比较重要的部分进行描述与分析."愿站在巨人的肩膀上, ...
- 阿里巴巴Java开发手册评述
2016年底的时候阿里巴巴公开了其在内部使用的Java编程规范.随后进行了几次版本修订,目前的版本为v1.0.2版.下载地址可以在其官方社区-云栖社区https://yq.aliyun.com/art ...
- 阿里巴巴Java开发手册评
2016年底的时候阿里巴巴公开了其在内部使用的Java编程规范.随后进行了几次版本修订,目前的版本为v1.0.2版.下载地址可以在其官方社区-云栖社区https://yq.aliyun.com/art ...
- 阿里巴巴 Java 开发手册评述
http://blog.jobbole.com/110427 阿里巴巴Java开发手册(终极版)https://pan.baidu.com/s/1c1UQM7Q 阿里巴巴Java开发规约插件p3cGi ...
- 码出高效,阿里巴巴JAVA开发手册1.4.0
码出高效,阿里巴巴JAVA开发手册1.4.0阅读笔记 一.编程规约(三) 代码格式// 关键词if与括号之间必须有一个空格,括号内的f与左括号,0与右括号不需要空格 if (flag == 0) { ...
- 《阿里巴巴Java开发手册1.4.0》阅读总结与心得(五)
笔者作为一名有数年工作经验的Java程序员,仔细研读了这份手册,觉得其是一份不可多得的好材料.阿里巴巴在发布时所说,“阿里巴巴集团推出的<阿里巴巴Java开发手册(正式版)>是阿里巴巴近万 ...
- 阿里巴巴Java开发手册———个人追加的见解和补充(一)
先上干货,<阿里巴巴Java开发手册>的下载地址 https://yq.aliyun.com/articles/69327?spm=5176.100239.blogcont69327.15 ...
- 阿里巴巴Java开发手册快速学习
Java作为一门名副其实的工业级语言,语法友好,学习简单,大规模的应用给代码质量的管控带来了困难,特别是团队开发中,开发过程中的规范会直接影响最终项目的稳定性. 善医者“未有形而除之”,提高工程健壮性 ...
- 《阿里巴巴Java开发手册(正式版》读记
前几天,阿里巴巴发布了<阿里巴巴Java开发手册(正式版>,第一时间下载阅读了一番. 不同于一般大厂内部的代码规范,阿里巴巴的这本Java开发手册,可谓包罗万象,几乎日常Java开发中方方 ...
随机推荐
- CH3401 石头游戏(矩阵快速幂加速递推)
题目链接:传送门 题目: 石头游戏 0x30「数学知识」例题 描述 石头游戏在一个 n 行 m 列 (≤n,m≤) 的网格上进行,每个格子对应一种操作序列,操作序列至多有10种,分别用0~9这10个数 ...
- IETF和W3C的区别
国际互联网协会ISOC和万维网联盟W3C是互联网领域内两大国际协会组织,ISOC旗下IETF机构与W3C是互联网行业内两大标准组织.不可否认「IETF和W3C都是优秀的组织,它们从事着一种使事情按程序 ...
- Qt配置cmake;运行带参数的程序
配置cmake编译器,步骤如下: 步骤1: Qt下新建一个project. 步骤2: 在该project目录下创建一个CMakeLists.txt文件,并按规范编写该文件. Tip: projec ...
- keil5 MDK 链接报错 Error: L6410W 解决
keil5 MDK 报错 Build target 'Project' linking... .\Output\Project.axf: Warning: L6310W: Unable to find ...
- 变式配置简介 VARIANT CONFIGURATION
变式物料类型KMAT; ITEM CATEGORY GROUP: main item 0002 sub item 0004 strategy group:25 requirement type: ke ...
- WordPress版微信小程序开发系列(一):WordPress REST API
自动我发布开源程序WordPress版微信小程序以来,很多WordPress站长在搭建微信小程序的过程中会碰到各种问题来咨询我,有些问题其实很简单,只要仔细看看我写的文章,就可以自己解决.不过这些文章 ...
- Rest API的简单应用
写在前面 最近一直在搞通过Rest api的方式读取sharepoint文档库中的内容.有些地方需要注意,在此做下记录. 步骤 启动sharepoint服务器的服务 这里可以使用脚本的方式进行启动,脚 ...
- HTML5 超链接:a标签的href 属性
H5中a标签的 href 属性用于指定超链接目标的 URL,这里主要给大家介绍一下 href 属性的定义和用法以及应用实例. 定义和用法: <a> 标签的 href 属性用于指定超链接目标 ...
- node项目初始化的一些配置
1. const port = process.env.PORT || 9001; 本地开发用9001端口 2. package.json中配置几个启动命令 "scripts": ...
- 用java打印图形
代码如下 public static void main(String[] args) { for (int i = 0; i <7; i++) { for (int j = 0; j < ...