首页 > 资料专栏 > IT > IT技术 > 开发技术 > 阿里巴巴Java开发手册v12_0版(PDF)

阿里巴巴Java开发手册v12_0版(PDF)

阿李巴巴
V 实名认证
内容提供者
热门搜索
阿里巴巴 Java
资料大小:1081KB(压缩后)
文档格式:PDF
资料语言:中文版/英文版/日文版
解压密码:m448
更新时间:2018/11/30(发布于上海)
阅读:10
类型:积分资料
积分:10分 (VIP无积分限制)
推荐:升级会员

   点此下载 ==>> 点击下载文档


文本描述
前言 《阿里巴巴Java开发手册》是阿里巴巴集团技术团队的集体经验总结,经历了 多次大规模一线实战的检验及不断的完善,反馈给广大开发者。现代软件行业的高速 发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点 也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软 件上的架构缺陷或性能风险;工程结构混乱导致后续维护艰难;没有鉴权的漏洞代码 易被黑客攻击等等。所以本手册以Java开发者为中心视角,划分为编程规约、异常日 志、MySQL数据库、工程结构、安全规约五大块,再根据内容特征,细分成若干二级子 目录。根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。对于 规约条目的延伸信息中,“说明”对内容做了引申和解释;“正例”提倡什么样的编 码和实现方式;“反例”说明需要提防的雷区,以及真实的错误案例 本手册的愿景是码出高效、码出质量。代码的字里行间流淌的是软件生命中的血 液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升质量意识。另外,现代 软件架构都需要协同开发完成,高效协作即降低协同成本,提升沟通效率,所谓无规 矩不成方圆,无规范不能协作。众所周知,制订交通法规表面上是要限制行车权,实 际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,谁还敢上路行驶。对 软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度 个性化,以一种普遍认可的统一方式一起做事,提升协作效率 《阿里巴巴Java开发手册》,开放包容地认真听取社区、博客、论坛的反馈,及 时修正,保持与时俱进。请关注手册末页的“阿里技术”和“云栖社区”公众号获取 最新版本 目录 前言 一、编程规约1 (一) 命名风格 .... 1 (二) 常量定义 .... 3 (三) 代码格式 .... 4 (四) OOP规约 .... 6 (五) 集合处理 .... 9 (六) 并发处理 . 11 (七) 控制语句 . 14 (八) 注释规约 . 15 (九) 其它 ........... 17 二、异常日志 ........... 18 (一) 异常处理 . 18 (二) 日志规约 . 19 三、MySQL数据库 ...... 21 (一) 建表规约 . 21 (二) 索引规约 . 22 (三) SQL语句 . 24 (四) ORM映射 . 25 四、工程结构 ........... 27 (一) 应用分层 . 27 (二) 二方库依赖 ......... 28 (三) 服务器 ...... 29 五、安全规约 ........... 31 附1:版本历史 ......... 32 附2:本手册专有名词 ... 33 (注:浏览时请使用PDF左侧导航栏) 阿里巴巴Java开发手册 ——禁止用于商业用途,违者必究—— 1 / 33 Java开发手册 版本号 制定团队 更新日期 备注 1.2.0 阿里巴巴集团技术团队 2017.5.20 公开征集意见后的修正版本 一、编程规约 (一) 命名风格 1. 【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 反例: _name / __name / $Object / name_ / name$ / Object$ 2. 【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式 也要避免采用 正例: alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文 反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3 3. 【强制】类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion 4. 【强制】方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从 驼峰形式 正例: localValue / getHttpMessage() / inputUserId 5. 【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长 正例: MAX_STOCK_COUNT 反例: MAX_COUNT 6. 【强制】抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类 命名以它要测试的类的名称开始,以Test结尾 7. 【强制】中括号是数组类型的一部分,数组定义如下:String[] args; 反例:使用String args[]的方式来定义 8. 【强制】POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误 反例:定义为基本数据类型Boolean isDeleted;的属性,它的方法也是isDeleted(),RPC 。。。以上简介无排版格式,详细内容请下载查看