Java 开发手册-华山版(阿里).pdf
需积分: 0 60 浏览量
更新于2021-03-09
收藏 1.48MB PDF 举报
《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模
一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地
整理成册。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,
其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带 来软件上的架构缺陷或性能风险;工程结构混乱导致后续维护艰难;没有鉴权的漏洞代码易被黑客
攻击等等。所以本手册以 Java 开发者为中心视角,划分为编程规约、异常日志、单元测试、安全规
约、MySQL 数据库、工程结构、设计规约七个维度,再根据内容特征,细分成若干二级子目录。
另外,依据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。在延伸信息中, “说明”对规约做了适当扩展和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要
提防的雷区,以及真实的错误案例。
### Java开发手册知识点总结
#### 一、编程规约
**1. 命名风格**
- **强制规定**:所有代码中的命名均不得以下划线`_`或美元符号`$`开始或结束。
- 反例:`_name`、`__name`、`$name`、`name_`、`name$`、`name__`
- **说明**:使用特殊字符作为命名起始或结束可能会导致编译器解析问题,或者与其他语言的关键字冲突。
- **强制规定**:代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
- 正例:`renminbi`、`alibaba`、`taobao`、`youku`、`hangzhou`(这些是国际通用的名称)
- 反例:`DaZhePromotion`(打折)、`getPingfenByName`(评分)、`int某变量 = 3`
- **说明**:使用纯英文可以提高代码的可读性和国际通用性,避免因语言差异造成的理解偏差。
- **强制规定**:类名使用UpperCamelCase风格,除了以下几种特殊情况:DO(Data Object)、BO(Business Object)、DTO(Data Transfer Object)、VO(View Object)、AO(Application Object)、PO(Persistence Object)、UID(Unique Identifier)等。
- 正例:`JavaServerlessPlatform`、`UserDO`、`XmlService`、`TcpUdpDeal`、`TaPromotion`
- 反例:`javaserverlessplatform`、`UserDo`、`XMLService`、`TCPUDPDeal`、`TAPromotion`
- **说明**:特定缩写保持原有的大小写格式有助于识别其意义。
- **强制规定**:方法名、参数名、成员变量、局部变量都应使用lowerCamelCase风格。
- 正例:`localValue`、`getHttpMessage`、`inputUserId`
- **说明**:统一的风格有助于提高代码的整洁度和一致性,降低维护成本。
- **强制规定**:常量命名全部大写,单词间用下划线`_`隔开。
- 正例:`MAX_STOCK_COUNT`、`CACHE_EXPIRED_TIME`
- 反例:`MAX_COUNT`、`EXPIRED_TIME`
- **说明**:清晰的命名可以帮助程序员快速理解变量的作用。
**2. 常量定义**
- **说明**:常量用于存储固定不变的数据值。在定义常量时,应当确保其值在整个程序执行期间不会改变。
- **强制规定**:所有的常量必须使用`final`关键字修饰,并且必须初始化赋值。
- 正例:
```java
public static final int MAX_USERS = 100;
```
**3. 代码格式**
- **强制规定**:所有代码必须遵循一致的格式规范,包括但不限于缩进、空格、括号等。
- 正例:正确使用空格和缩进。
- **说明**:良好的代码格式可以提高代码的可读性和维护性,减少潜在的错误。
**4. OOP规约**
- **说明**:面向对象编程(OOP)是一种常见的编程范式,强调以对象为中心的设计。
- **强制规定**:所有类都应当封装好自己的内部状态,并通过公共接口暴露必要的行为。
- 正例:合理使用private修饰符保护类的内部状态。
- **说明**:良好的封装可以增强代码的安全性和复用性。
**5. 集合处理**
- **强制规定**:在处理集合时,应当确保集合的初始化,并考虑集合为空的情况。
- 正例:初始化集合并检查其是否为空。
- **说明**:有效的集合管理可以防止NullPointerException等常见错误的发生。
**6. 并发处理**
- **强制规定**:在多线程环境中,必须正确使用同步机制来防止竞态条件。
- 正例:使用`synchronized`关键字或显式的锁机制。
- **说明**:并发编程是现代软件开发中的一个重要方面,正确地管理线程之间的交互可以显著提高程序的稳定性和性能。
**7. 控制语句**
- **强制规定**:在使用循环和分支结构时,应当清晰地表达逻辑意图。
- 正例:合理使用`if-else`、`for`、`while`等控制结构。
- **说明**:清晰的逻辑有助于代码的可读性和可维护性。
**8. 注释规约**
- **强制规定**:代码中重要的业务逻辑和算法应当添加注释,以提高代码的可读性。
- 正例:对于复杂的算法或重要的业务逻辑进行详细的注释。
- **说明**:注释是提高代码可维护性的关键因素之一,尤其是对于复杂的逻辑部分。
**9. 其它**
- **强制规定**:其他未涵盖的编程实践应当遵循业界最佳实践。
- **说明**:在编写代码的过程中,应当灵活运用各种编程技巧和模式,不断提高代码的质量。
以上是对《Java 开发手册》中编程规约部分的详细说明。通过这些规定,开发人员可以更好地组织和编写高质量的Java代码,从而提高软件产品的质量和开发效率。接下来的部分将详细介绍异常日志、单元测试、安全规约等方面的知识点。
码农架构
- 粉丝: 1w+
- 资源: 76
最新资源
- 基于SpringBoot的智慧园区后台管理系统全部资料+高分项目+详细文档.zip
- 基于Python课程设计, 智慧校园考试系统,包括用户管理,注册机构,配置题库,答题功能全部资料+高分项目+详细文档.zip
- 基于vue做的智慧水务系统全部资料+高分项目+详细文档.zip
- gripper-internals
- 基于WEBGIS的智慧景区辅助决策系统,全部资料+高分项目+详细文档.zip
- 基于WebGIS的智慧交通系统、全部资料+高分项目+详细文档.zip
- 基于WebGIS智慧养老系统(Vue3+Flask)全部资料+高分项目+详细文档.zip
- 基于大屏管理系统全部资料+高分项目+详细文档.zip
- 基于城市规划勘测设计研究院智慧规划师系统全部资料+高分项目+详细文档.zip
- 基于服务器本地地图的智慧园区视频监控web系统全部资料+高分项目+详细文档.zip
- 基于大数据智慧交通系统全部资料+高分项目+详细文档.zip
- 基于电梯智慧监管系统源码全部资料+高分项目+详细文档.zip
- 威纶通触摸屏如何快速对齐元件(智慧对齐)?.docx
- 基于开源的小型物业管理系统,涵盖停车、安保、客服、工单、收费、财务、办公自动化等模块,目标是构建一个软硬件一体的智慧物业解决方案。全部资料+高分项目+详细文档.zip
- 基于海创智慧园区管理系统全部资料+高分项目+详细文档.zip
- 基于农业岛智慧农业系统Java版,基于Java+Vue+Uni-app开发,在微信公众号、小程序、H5移动端都能使用,代码开源,独立部署,二开很方便,能满足智慧