alibaba开发手册
鑫爵
这个作者很懒,什么都没留下…
展开
-
在eclipse中如何引入阿里巴巴自动化ID检测工具
1.打开eclipse,点击上方工具栏中的Help,并且点击Install New SoftWare2.出现下图所示:3.在框中填入相关信息:https://p3c.alibaba.com/plugin/eclipse/update/4.然后点击Next,接着同意协议,就完成插件的安装了。5.右击一个java文件,出现在下方就会显示相应的代码格式问题,如:...原创 2019-09-01 17:32:55 · 135 阅读 · 0 评论 -
阿里巴巴开发手册之SQL语句
不要使用count(列名)或count(常量)来代替count(),count()是SQL92定义的标准统计行数的语法,跟数据库无关,跟NULL和非NULL无关。count(distinct column)计算该列除NULL外的不重复行数。注意,count(distinct column1, column2),如果其中一列全为NULL,那么即使另一列有不同的值,也返回为0。当某一列的值全为N...原创 2019-09-16 15:56:53 · 426 阅读 · 0 评论 -
阿里巴巴Java开发手册之索引规约
业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。超过三个表禁止join。需要join的字段,数据类型必须一致;当多表关联查询时,保证被关联的字段需要有索引。在varchar字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度即可。页面搜索严禁左模糊或者全模糊,如果需要请通过搜索引擎来解决。如果有order by的场景,请注意利用索...原创 2019-09-15 16:53:25 · 528 阅读 · 0 评论 -
阿里巴巴Java开发手册之建表规约
表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsigned tinyint (1表示是,0表示否)。任何字段如果是非负数,则必须是unsigned。表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下画线中间出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。MySQL在Window下不区分大小写,但在Linux下默认区分大小写...原创 2019-09-15 08:10:50 · 250 阅读 · 0 评论 -
阿里巴巴Java开发手册之安全规约
隶属于用户个人的页面或者功能必须进行权限控制校验。防止没有做水平权限校验就可随意访问、修改、删除别人的数据,比如查看他人的私信内容、修改他人的订单。用户敏感数据禁止直接展示,必须对展示数据进行脱敏。个人的手机号码会显示为158****9119,隐藏中间4位,防止个人隐私泄露。用户输入的SQL参数严格使用参数绑定或者METADATA字段值限定,防止SQL注入,禁止字符串拼接SQL访问数据库。...原创 2019-09-14 09:22:09 · 160 阅读 · 0 评论 -
阿里巴巴Java开发手册之单元测试
好的单元测试必须遵守AIR原则。单元测试在线上运行时,感觉像空气(AIR)一样并不存在,但在测试质量的保障方面,它却是非常关键的。从宏观上来说,好的单元测试具有自动化、独立性、可重复执行的特点。单元测试应该是全自动执行的,并且是非交互式的。测试用例通常是被定期执行的,执行过程必须完全自动化才有意义。需要人工检查输出结果的测试不是一个好的单元测试,单元测试中不准出现System.out进行人肉...原创 2019-09-13 09:32:20 · 607 阅读 · 0 评论 -
阿里巴巴Java开发手册之日志规约
日志规约应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API。使用门面模式的日志框架,有利于维护和各个类的日志处理方法统一。日志文件推荐至少保存15天,因为有些异常具备以“周”为频次发生的特点。应用中的扩展日志(如打点、临时监控、访问日志等)命名方式:appName_logType_logName.log。logType为日志类型,推...原创 2019-09-11 08:58:39 · 455 阅读 · 0 评论 -
阿里巴巴Java开发手册之异常处理
Java类库中定义的可以通过预检查方法规避的RuntimeException不应该通过catch的方式来处理,如:IndexOutOfBoundsException,NullPointerException等。异常不要用来做流程控制,条件控制。catch时请分清稳定代码和非稳定代码。稳定代码指的是无论如何都不会出错的代码。对于非稳定代码的catch、尽可能在进行异常类型的区分后,在做对应的异...原创 2019-09-09 16:12:53 · 566 阅读 · 0 评论 -
阿里巴巴Java开发手册之OOP(面向对象程序设计)规约
OOP规约1.避免通过一个类的对象引用访问该类的静态变量或静态方法,造成无谓增加编译器解析成本,直接用类名来访问即可。2.所有的覆写方法,必须加@Override注解。3.相同参数类型,相同业务含义,才可以使用Java的可变参数,避免使用Object。(建议不使用可变参数编程),public User listUsers(String type, Long… ids){…}4.对外部正在调...原创 2019-09-03 16:38:59 · 432 阅读 · 0 评论 -
阿里巴巴Java开发手册之其他编码规范
其他在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。在velocity调用POJO类的属性时,建议直接使用属性名取值,模板引擎会自动按规范调用POJO的getXxx(),如果是boolean基本数据类型变量(boolean命名不需要加is前缀),会自动调用isXxx()方法。后台输送给页面的变量必须加!var−−−中间是感叹号。如果var=null或者不存在,那么!{va...原创 2019-09-08 14:39:21 · 153 阅读 · 0 评论 -
阿里巴巴Java开发手册之并发处理
获得单例对象需要保证线程安全,其中的方法也要保证线程安全。资源驱动类、工具类、单例工厂类都需要注意。在创建线程或线程池时,请指定有意义的线程名称,方便出错时回溯。线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。线程池不允许使用Executors创建,而是通过ThreadPoolExecutor的方式创建,这样的处理方式能让编写代码的工程师更加明确线程池的运行规则,规避资源耗尽的...原创 2019-09-08 14:25:25 · 174 阅读 · 0 评论 -
阿里巴巴Java开发手册之注释规约
类,类属性、类方法的注释必须使用Javadoc规范,使用/*内容/格式,不得使用//XX方式。所有的抽象方法(包括接口中的方法)必须要用Javadoc注释,除了返回值、参数、异常说明外,还必须指出该方法做什么事情,实现什么功能。所有的类都必须添加创建者和创建日期。方法内部的单行注释,在被注释语句上方另起一行,使用//注释。方法内部的多行注释,使用/* */注释,注意与代码对齐。所有的枚举...原创 2019-09-08 10:38:18 · 2035 阅读 · 1 评论 -
阿里巴巴Java开发手册之控制语句
在一个switch块中,每个case要么通过break/return等来终止,要么注释说明程序将继续执行到哪一个case块中,都必须要包含一个default语句并且放在最后,即使它什么代码也没有。在if / else / for / while / do语句中,必须使用大括号。即使只有一行代码,也应避免采用单行的编码方式。if(condition) statements;在高并发场景中,避免...原创 2019-09-08 10:17:32 · 178 阅读 · 0 评论 -
阿里巴巴Java开发手册之集合处理
关于hashCode和equals的处理,遵循如下规则:只要重写equals,就必须重写hashCode。因为Set存储的是不重复的对象,依据hashCode和equals进行判断,所以Set存储的对象必须重写这两个方法。如果自定义的对象作为Map的键,那么必须重写hashCode和equals。ArrayList的subList结果不可强转成ArrayList,否者会抛出Clas...原创 2019-09-05 16:13:06 · 125 阅读 · 0 评论 -
阿里巴巴Java开发手册之常量定义及代码格式
常量定义:1.不允许任何未经预先定义的常量直接出现在代码中。2.long或者Long初始赋值时,使用大写的L,不能是先写的l。小写的l容易和1混搅。3.不要使用一个常量类维护所有的常量,要按常量功能进行归类,分开维护。4.如果变量值仅在一个范围内变化,则使用enum类型来定义。代码格式:1.大括号的使用规定。如果大括号内为空,则简介的写出{}即可,不需要换行,如果是非空代码块,则左大括...原创 2019-09-03 16:35:37 · 631 阅读 · 0 评论 -
阿里巴巴Java开发手册之Java命名规范
1.代码中的缩进用4个空格代替一个Tab键。2.if条件语句中有单条语句的必须加上大括号,并且左大括号不换行。3.代码中的命名不能以下画线或美元符开始,也不能以下画线或美元符结束。4.代码中的命名禁止使用拼音与英文混合的方式,更不允许直接使用中文的方式。5.类名使用UpperCamelCase风格,如,UserService.。方法名,参数名,成员变量,局部变量都统一使用lowerCame...原创 2019-09-03 16:30:15 · 1206 阅读 · 0 评论 -
阿里巴巴Java开发手册之ORM框架
在表查询中,一律不要使用*作为查询的字段列表,需要哪些字段必须明确使用。POJO类的布尔属性不能加is,而数据库字段必须加is_,要求在resultMap中进行字段与属性之间的映射。不要用resultClass作为返回参数,即使所有类属性名与数据库字段一一对应,也需要定义;反过来,每一个表也必然有一个属性与之对应。sql.xml配置参数使用:#{},#param#,不要使用${},此种方式...原创 2019-09-17 14:13:32 · 910 阅读 · 0 评论