Java 开发手册-华山版(阿里).pdf

preview
需积分: 0 9 下载量 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
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源