阿里巴巴java规范要求:类名用uppercamelcase(如userdo、xmlservice),do/dto/vo等后缀全大写;方法变量用lowercamelcase(如getuserid、inputtimemillis);常量全大写下划线(如default_timeout_millis);布尔字段禁用is前缀(用deleted而非isdeleted)。

要符合阿里巴巴 Java 开发规范的命名要求,核心是统一风格、语义清晰、杜绝歧义,所有命名必须可读、可维护、可被框架正确识别。
类名:UpperCamelCase,但缩写词保持大写
类名首字母大写,每个单词首字母都大写,不加下划线。DO/DTO/VO/PO/BO/AO/UID 等领域模型后缀属于特例,可全大写缩写,且紧贴主名称。
- ✅ 正确:UserDO、OrderVO、XmlService、TcpUdpDeal
- ❌ 错误:userDo(小写开头)、UserDto(DTO 应全大写)、XMLService(不应全大写,仅缩写部分大写)
方法、变量、参数:一律 lowerCamelCase
方法名、成员变量、局部变量、形参全部小驼峰——首单词小写,后续单词首字母大写,中间不加符号。
- ✅ 正确:getUserId、isLoginSuccess、inputTimeMillis、cacheSize
- ❌ 错误:GetUserId(大驼峰)、get_user_id(含下划线)、getuserid(无分隔,难读)
常量:全大写 + 下划线分隔
public static final 定义的常量,必须全部大写字母,单词间用单个下划线连接,名称应完整表达业务含义。
- ✅ 正确:DEFAULT_TIMEOUT_MILLIS、MAX_RETRY_COUNT、REDIS_CACHE_KEY_PREFIX
- ❌ 错误:MaxRetryCount(非全大写)、max_retry_count(非 public static final 也误用下划线)、MAX_RETRY(语义不完整)
布尔类型字段与 getter:避免 is 前缀
POJO 中的 boolean 或 Boolean 类型字段,字段名不要以 is 开头;否则序列化(如 JSON、RPC)可能误解析为去掉 is 的属性名,导致空值或异常。
- ✅ 正确:deleted → getter 是 isDeleted(),字段名本身不带 is
- ❌ 错误:isDeleted → 框架可能去找 deleted 字段,实际不存在,抛 NPE 或反序列化失败
- 补充:Boolean 包装类型同理,字段名仍用 enabled,而非 isEnabled
包名与其它细节
包名全部小写,用点分隔,每段有明确自然语义;禁用拼音、中文、美元符、下划线开头/结尾;禁用随意缩写(如 AbsClass、condi);数组声明必须中括号紧跟类型(int[] arr,非 int arr[])。
- ✅ 正确:com.alibaba.search.service、com.taobao.item.dto
- ❌ 错误:com.Alibaba.Search.Service(大小混用)、com.alibaba.search.util2(数字无语义)、com.alibaba.search.daoImpl(Impl 缩写不推荐,应为 dao)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











