阿里巴巴 Java 编程规范精炼:命名与常量定义

发布时间:2026/7/21 16:03:17
阿里巴巴 Java 编程规范精炼:命名与常量定义 目录一. 命名规范二. 常量定义一. 命名规范1定义变量最好不要以 _ 或 $ 开头也不要以它们为结尾例如 _namename_$namename$ 都是不推荐的。2变量不要中英文混合使用也最好不要使用中文拼音应当见名知意例如 daZhe(打折)pingFen(评分) 不易于阅读容易其他人造成歧义。3定义类要采用驼峰命名法不要使用 _领域模型的相关类名全大写例如 DTODOVO等正确示例UserMapperUserServiceUserDOUserDTO错误示例userMapperuserServiceUserDoUserDto4方法名参数名成员变量局部变量也要采用驼峰明明首字母小写正确示例getHttpMessage()inputUserIdlocalValue。5常量一定要全部大写多个单词中间用 _ 分隔开不要嫌名字长要表达完整正确示例MAX_COUNTMAX_SIZEDEFAULT_VALUE。6抽象类使用 Abstract 或 Base 开头异常类以 Exception 结尾测试类的类名要以被测试的类名Test结尾正确示例AbstractUserBaseUserUserNotFoundExceptionUserMapperTest。7定义数组类型时把[]放在变量类型的后面而不要放在变量的后面正确示例String[] arg错误示例String arg[]8实体类中的布尔类型变量前面不要加 is否则解析可能会序列化错误正确示例Success错误示例isSuccess9定义包名全部用小写单词之间用 . 分隔开单词不要使用复数定义类名时单词可以使用复数。正确示例包名com.alibaba.open.util正确示例类名MessageUtilsMessageUtil10接口中的方法不要有任何的修饰符public 也不要加保持代码整洁正确示例void save()int insert()错误示例public void save()public int insert()11接口采用正常的驼峰命名法实现类在接口的基础上加上 Impl正确示例UserService与UserServiceImplCacheService与CacheServiceImpl12定义枚举类建议类名后面加上Enum枚举类成员全部用大写表示单词中间用 _ 分隔开。正确枚举类名示例MonthEnum正确枚举类变量示例DEFAULT_VALUEMAX_SIZEMIN_SIZESUCCESSFAIL13Service/DAO方法命名规范获取单个对象get 做前缀获取多个对象list 做前缀获取统计值count 做前缀插入方法save/insert 做前缀删除方法remove/delete 做前缀修改方法update 做前缀14领取模型命名规范数据对象xxxDOxxx即为表名数据传输对象xxxDTOxxx为业务领取相关的名称展示对象xxxVOxxx一般为网页名称POJO是对DO/DTO/VO/BO的统称禁止命名为 xxxPOJO二. 常量定义1long或Long 初始赋值时必须使用大写 L因为小写的 l 容易和数字1 产生混肴正确示例Long num 2L错误示例long num 2l极容易将num 认为是21但实际上定义的是22不允许出现未经定义的变量只出现在代码中错误示例 String key ID tradeId这样定义容易造成内存溢出不允许出现。3不要使用一个常量类维护所有常量应该对常量进行分类维护后期排查方便维护也方便。4如果变量值仅在一个范围内变化用 Enum 类。如果还带有名称之外的延伸属性必须 使用 Enum 类下面正例中的数字就是延伸信息表示星期几。正确示例public Enum{ MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7);}