阿里巴巴Java开发规范详解
49 浏览量
更新于2024-09-02
收藏 253KB PDF 举报
"JAVA开发规范详解(阿里巴巴Java开发规范手册)"
在Java开发中,遵循一定的规范是非常重要的,这有助于代码的可读性、可维护性和团队协作。阿里巴巴Java开发规范手册提供了一系列详细的指导原则,旨在提升代码质量。以下是部分关键的编程规约:
一、命名规约
1. 命名不应以下划线或美元符号开始或结束。例如,不推荐使用`_name`, `$Object`, `name_$`, `__name__`等作为变量名。
2. 避免使用拼音与英文混合的命名,也不应直接使用中文。例如,`DaZhePromotion`应改为`Discount`,`getPingfenByName`应为`getScore`,变量名`int变量=3;`应改为`int score = 3;`。
3. 类名应使用UpperCamelCase风格,如`MarcoPolo`,但DO/DTO/VO/DAO等特殊命名除外,它们通常全小写。
4. 方法名、参数名、成员变量和局部变量使用lowerCamelCase风格,例如`localValue`, `getHttpMessage`, `inputUserId`。
5. 常量名全部大写并使用下划线分隔,例如`MAX_STOCK_COUNT`,确保名称清晰易懂。
6. 抽象类前缀为`Abstract`或`Base`,异常类以`Exception`结尾,测试类以测试的目标类名开始,以`Test`结尾,如`MyClassTest`。
7. 数组定义时,类型在前,数组在后,如`String[] args`,避免使用`String args[]`的反向写法。
8. POJO类中的布尔变量不应以`is`开头,因为这可能导致某些框架在反序列化时出错,如`isSuccess`应改为`success`。
二、注释规约
9. 【推荐】注释要简洁明了,避免过于冗长。类、接口、方法级别的注释要详细描述其功能、使用方法和注意事项。
10. 【推荐】对于复杂的逻辑或不易理解的代码块,需添加行内注释解释代码逻辑。
11. 【强制】不要在代码中出现无意义的注释,如重复描述代码的功能,已过时的注释应及时删除。
12. 【推荐】对于开放源码的项目,注释应详细描述类、接口、方法的作用,以及可能存在的问题和限制。
三、编码规约
13. 【强制】避免使用魔法数字,即直接在代码中出现的未声明的常量,应使用常量代替。
14. 【推荐】避免使用冗余的类型声明,如`List<String> list = new ArrayList<String>();`可简化为`List<String> list = new ArrayList<>();`。
15. 【强制】避免使用System.out.println()进行日志输出,应使用日志框架,如Log4j、SLF4J等。
16. 【推荐】代码中应有适当的空行和缩进,以提高代码的可读性。
四、异常处理规约
17. 【强制】异常不应该被catch后直接吞掉,至少要记录到日志中,方便问题定位。
18. 【推荐】捕获异常时,要具体到异常类,避免使用笼统的Exception,以便于问题定位。
以上仅为部分核心的Java开发规范,实践中还有更多关于代码结构、并发控制、异常处理等方面的细节。遵循这些规约,可以有效提高代码质量,降低维护成本,同时也有利于团队之间的沟通和协作。
102 浏览量
2022-08-04 上传
2021-09-30 上传
2021-09-10 上传
2019-01-14 上传
2018-02-09 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38545961
- 粉丝: 4
- 资源: 963
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析