"阿里巴巴Java开发规范"
《阿里巴巴Java开发手册》是阿里巴巴集团技术团队制定的一份详细编码指导,旨在提升代码质量、可读性和维护性。这份手册覆盖了多个方面,包括编程规约、异常日志、MySQL规约、工程规约和安全规约。
一、编程规约
1. 命名规约:
- 强制要求命名不能以下划线或美元符号开头或结尾,例如:_name、__name、$Object、name_、name$、Object$。
- 禁止使用拼音与英文混合的命名方式,如DaZhePromotion(打折)、getPingfenByName(评分)。即使纯拼音命名也要避免,如int某变量=3。
- 类名应使用UpperCamelCase风格,如MarcoPolo、UserDO,但DO/BO/DTO/VO等特殊命名例外。
- 方法名、参数名、成员变量和局部变量应使用lowerCamelCase风格,如localValue、getHttpMessage、inputUserId。
- 常量命名应全大写,单词间用下划线分隔,确保表达清晰,如MAX_STO。
2. 常量定义:
- 常量的命名应使用大写字母和下划线,如MAX_STOCK、MIN_PRICE。
3. 格式规约:
- 包含代码缩进、空格使用、换行等格式规范,确保代码整洁一致。
4. OOP规约:
- 遵循面向对象设计原则,如单一职责、开放封闭、依赖倒置等。
5. 集合处理:
- 如何正确使用List、Set、Map等集合,避免空指针异常,合理选择数据结构。
6. 并发处理:
- 并发编程规范,如线程安全、同步控制、volatile使用等。
7. 控制语句:
- 使用合适的控制结构,避免复杂的嵌套和冗余。
8. 注释规约:
- 提供清晰的代码注释,说明功能、参数、返回值等。
9. 其它:
- 包括异常处理、日志记录、资源管理等方面的规约。
二、异常日志
1. 异常处理:
- 捕获异常时要具体到最小粒度,避免使用笼统的Exception。
2. 日志规约:
- 日志级别划分,错误、警告、信息和调试等,记录关键操作和异常信息。
三、MySQL规约
1. 建表规约:
- 数据库设计遵循范式理论,合理设计表结构。
2. 索引规约:
- 创建合适索引以提高查询性能,注意避免全表扫描。
3. SQL规约:
- 编写高效、简洁的SQL语句,避免SQL注入。
4. ORM规约:
- 使用ORM框架时,遵循最佳实践,避免性能问题。
四、工程规约
1. 应用分层:
- 业务逻辑按照层次进行划分,如表现层、服务层、数据访问层等。
2. 二方库规约:
- 选择和使用第三方库时要谨慎,避免引入过多依赖。
3. 服务器规约:
- 针对服务器配置、部署、监控等方面设定规范。
五、安全规约
- 保障代码安全,防止XSS、SQL注入、CSRF等攻击。
这份规范不仅适用于阿里巴巴内部,也对外公开,为整个Java开发者社区提供了参考标准,有助于提升整体开发水平和协同效率。