阿里java代码设计规范
文章平均质量分 81
本手册的旨在码出高效,码出质量。
Rickshawboylu
梦倒塌的地方,今已爬满青苔。
展开
-
阿里java开发规范(3)---集合处理,并发处理
(5)集合处理1. 【强制】 关于 hashCode 和 equals 的处理,遵循如下规则:1) 只要重写 equals,就必须重写 hashCode。2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的对象必须重写这两个方法。3) 如果自定义对象作为 Map 的键,那么必须重写 hashCode 和 equals。说明: Strin...翻译 2018-07-11 11:36:08 · 659 阅读 · 0 评论 -
阿里java开发规范(4)---控制语句,注释规约
(7)控制语句1. 【强制】在一个 switch 块内,每个 case 要么通过 break/return 等来终止,要么注释说明程序将继续执行到哪一个 case 为止; 在一个 switch 块内,都必须包含一个 default 语句并且放在最后,即使空代码。2. 【强制】在 if/else/for/while/do 语句中必须使用大括号。 即使只有一行代码,避免采用单行的编码方式: if (c...翻译 2018-07-11 11:53:19 · 4017 阅读 · 0 评论 -
阿里java开发规范(5)---日志规约,单元测试,安全规约
(二)日志规约1. 【强制】应用中不可直接使用日志系统(Log4j、 Logback) 中的 API,而应依赖使用日志框架SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。import org.slf4j.Logger;import org.slf4j.LoggerFactory;private static final Logger logger = Log...翻译 2018-07-11 14:13:46 · 3023 阅读 · 0 评论 -
阿里java开发规范(6)---MySQL数据库
五、 MySQL 数据库(一)建表规约1. 【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是, 0 表示否)。说明: 任何字段如果为非负数,必须是 unsigned。注意: POJO 类中的任何布尔类型的变量,都不要加 is 前缀,所以,需要在<resultMap>设置从 is_xxx 到 Xxx 的映射关系。...翻译 2018-07-11 14:37:14 · 2295 阅读 · 0 评论 -
阿里java开发规范(7)---工程结构
六、工程结构(一)应用分层1. 【推荐】图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于Web 层,也可以直接依赖于 Service 层,依此类推:---开放接口层:可直接封装 Service 方法暴露成 RPC 接口; 通过 Web 封装成 http 接口; 进行网关安全控制、 流量控制等。---终端显示层:各个端的模板渲染并执行显示的层。 当前主要是 velocity ...翻译 2018-07-11 14:47:32 · 2675 阅读 · 0 评论 -
阿里java开发规范(8)---设计规约
七、 设计规约1. 【强制】 存储方案和底层数据结构的设计获得评审一致通过,并沉淀成为文档。说明: 有缺陷的底层数据结构容易导致系统风险上升,可扩展性下降,重构成本也会因历史数据迁移和系统平滑过渡而陡然增加,所以,存储方案和数据结构需要认真地进行设计和评审,生产环境提交执行后,需要进行 double check。正例: 评审内容包括存储介质选型、表结构设计能否满足技术方案、存取性能和存储空间能否满...翻译 2018-07-11 14:51:48 · 856 阅读 · 0 评论 -
阿里java开发规范(1)---命名风格,常量定义
一.编程规约 (1)命名风格1. 【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例: _name / __name / $name / name_ / name$ / name__2. 【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。说明: 正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用...翻译 2018-07-11 09:24:23 · 2735 阅读 · 0 评论 -
阿里java开发规范(2)---代码格式,OOP规约
(3)代码格式1. 【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行; 如果是非空代码块则:1) 左大括号前不换行。2) 左大括号后换行。3) 右大括号前换行。4) 右大括号后还有 else 等代码则不换行; 表示终止的右大括号后必须换行。2. 【强制】左小括号和字符之间不出现空格; 同样,右小括号和字符之间也不出现空格;而左大括号前需要空格。详见第 5 条下方正例提...翻译 2018-07-11 10:28:18 · 828 阅读 · 0 评论