![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
阿里巴巴规范
Arthas217
向上️
展开
-
学习阿里巴巴开发手册-13
1.不要使用 count(列名)或 count(常量)来替代 count(*),count(*)就是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。 说明:count(*)会统计值为 NULL 的行,而 count(列名)不会统计此列为 NULL 值的行。2. count(distinct col) 计算该列除 NULL 之外的不重复数量。注意原创 2017-11-06 14:23:20 · 282 阅读 · 0 评论 -
学习阿里巴巴开发手册-补充
1.获取单例对象需要保证线程安全,其中的方法也要保证线程安全。2.创建线程或线程池时 请指定有意义的线程名称。3.线程资源必须通过线程池提供,不允许在应用中自行显示创建线程。4.线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式5.SimpleDateFormat是线程不安全的类,一般不要定义为static变量,如果是,必须添加锁,或者使用原创 2017-10-25 11:48:02 · 234 阅读 · 0 评论 -
学习阿里巴巴开发手册-7
1.类、类属性、类方法的注释使用/*内容*/形式2.抽象方法(包括接口中的方法)必须使用Javadoc注释(实现功能、参数、返回值、异常)3.所有类必须添加创建者和日期4.单行注释// 多行注释/**/5.枚举类型字段必须要有注释,说明数据项用途6.代码修改同时,注释进行相应的修改,尤其是参数、返回值、异常、核心逻辑等7.代码无用,删掉,谨慎注释掉代码,即使清理不在使用的原创 2017-10-19 11:51:25 · 199 阅读 · 0 评论 -
学习阿里巴巴开发手册-6
1.在switch块内,每个case通过break/return等终止,或者说明继续执行到那个case为止。每个switch块内,必须包含一个default语句且放在最后。即使什么没有。2.if/else/for/while/do语句中必须使用大括号,即使一行代码3.表达异常的分支时,少用if-else 可以使用 if(condition){ .. return o原创 2017-10-18 10:44:34 · 192 阅读 · 0 评论 -
学习阿里巴巴开发手册-5
1.关于hashCode和equals方法处理原则 1)只要重写equals,就必须重写hashCode 2)set存储的对象必须重写hashCode和equals方法 3)自定义对象作为Map的键,必须重写hashCode和equals方法 4)String重写了hashCode和equals方法。所以直接使用String对象作为key使用2.ArrayList的subLis原创 2017-10-17 16:58:52 · 203 阅读 · 0 评论 -
学习阿里巴巴开发手册-4
1.避免通过类对象访问此类的静态变量和静态方法,直接用类名访问即可2.覆写方法,必须加@Override注解,避免字母混淆 0和03.不提倡可变参数,相同参数类型,相同业务含义,使用java可变参数,避免使用Object4.外部正在调用或者二方库依赖的接口,不允许修改方法签名。接口过时必须加@Deprecated注解,说明采用新接口和新服务等5.不能使用过时的类和方法6.Obj原创 2017-10-10 19:36:08 · 382 阅读 · 0 评论 -
学习阿里巴巴开发手册-3
1.大括号内为空,简洁写成{}即可,不需要换行2.左小括号,右小括号和字符之间不出现空格 if (a == b) {}3.if/for/while/switch/do等保留字与括号之间都必须加空格while (true) {}4.任何二目、三目运算符的左右两边都需要加一个空格(赋值运算符=、逻辑运算符&& 加减乘除等) a > b ? 1 : 2;5.注释的双斜线和注释内容之间有且原创 2017-10-10 17:37:52 · 283 阅读 · 0 评论 -
学习阿里巴巴开发手册-2
1..不使用魔法值在代码中。2.long或者Long初始化赋值时,使用大写L,以免小写字母和数字1混淆。3.不使用一个常量类维护所有常量,按常量功能进行归类,分开维护。CacheConsts、ConifgConsts等4.类内共享常量:类内部private static final定义 包内共享常量:当前包下单独constant目录下 子工程内部共享常量:当前子工程原创 2017-10-10 10:15:03 · 160 阅读 · 0 评论 -
学习阿里巴巴开发手册-1
1.类名使用UpperCamelCase 但以下除外 DO,BO DTO VO AO2.方法名、参数名、成员变量、局部变量 采用驼峰形式。3.常量命名全部大写,单词间用下划线4.抽象类命令使用Abstract或Base开头,异常类命名使用Exception结尾,测试类以测试的类的名称开始以Test结尾5.POJO类中布尔类型的变量,都不要加is,会引起序列化问题6.包名统一使用小写,单原创 2017-09-29 16:50:37 · 202 阅读 · 0 评论 -
学习阿里巴巴开发手册-9
1.应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一2.日志文件推荐至少保存15天,因为有些异常具备以‘周’为频次发生的特点3.应用中的扩展日志命名方式以:appName_logType_logName.log,好处是日志日志文件属于什么应用,什么类型,什么目的,有利于原创 2017-10-28 12:49:44 · 235 阅读 · 0 评论 -
学习阿里巴巴开发手册-10
1.好的单元测试必须遵守AIR原则 A自动化 I独立性 R可重复2.单元测试应该是全自动执行的,并且非交互式的。单元测试中不准使用System.out来进行人肉验证,必须使用assert来验证。3.单元测试用例之间决不能互相调用,也不能依赖执行的先后次序4.单元测试可以重复执行,不受(网络、服务、中间件等)外界环境的影响5.对于单元测试,保证测试粒度足够小,有助于精确定位问题,原创 2017-10-29 15:43:50 · 396 阅读 · 0 评论 -
学习阿里巴巴开发手册-11
mysql数据库1.表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否),此规则同样适用于 odps 建表。任何字段如果为非负数,必须是 unsigned。表达逻辑删除的字段名 is_deleted,1表示删除,0表示未删除2.表名、字段名必须使用小写字母或数字;禁止出现数字开头,禁止两个下划线中间只出现数字。数原创 2017-11-01 17:19:51 · 415 阅读 · 0 评论 -
学习阿里巴巴开发手册-12
索引规约1.业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。说明:不要以为唯一索引影响了 insert 速度,这个速度损耗可以忽略,但提高查找速度是明显的;另外, 即使在应用层做了非常完善的校验和控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。2.超过三个表禁止 join。需要 join 的字段,数据类型保持绝对一致;多表关联查询时,保证被关联的字段需要有索引原创 2017-11-02 19:32:06 · 184 阅读 · 0 评论 -
学习阿里巴巴开发手册-15
工程规约1.应用分层图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于Web层,也可以直接依赖于 Service层开放接口层:可直接封装 Service接口暴露成 RPC接口;通过 Web封装成 http接口;网关控制层等。终端显示层:各个端的模板渲染并执行显示层。当前主要是 velocity渲染,JS渲染,JSP渲染,移动端展示层等。Web层原创 2017-11-07 18:49:59 · 254 阅读 · 0 评论 -
学习阿里巴巴开发手册-14
ORM映射1.在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。 说明:1 ) 增加查询分析器解析成本。2 ) 增减字段容易与 resultMap 配置不一致。2. POJO 类的 boolean 属性不能加 is ,而数据库字段必须加 is _,要求在 resultMap 中进行字段与属性之间的映射。3.不要用 resultClass 当返回参数,即使所有类原创 2017-11-07 18:42:06 · 186 阅读 · 0 评论 -
学习阿里巴巴开发手册-8
1.Java类库中定义的一类RuntimeException可以通过预先检查进行规避,不应该通过catch来处理,比如空指针异常,数组边界越界异常等。2.异常不要用来做流程控制,条件控制。因为异常的处理效率比条件还要低3.对大段代码进行try-catch是不负责的,需要区分稳定代码和非稳定代码,对非稳定代码的catch尽量区分异常类型,在做对应的异常处理4.捕获异常是为了处理它,不要捕原创 2017-10-25 19:51:37 · 323 阅读 · 0 评论