程序员上班理想中的状态
![程序员取个类名,就暴露了英语垃圾的事实](http://p2.ttnews.xyz/loading.gif)
程序员、java
![程序员取个类名,就暴露了英语垃圾的事实](http://p2.ttnews.xyz/loading.gif)
适用人群
- 像我这样英语比较菜,但又想把代码写漂亮的人。
- 各种程序员
吐槽
规范类名牢记一波
那些没文化的程序员,类名方法名就无情的暴露了你
培训机构告诉你英语垃圾没关系,其实代码功能是没关系但非常难看
可以到spring框架里看看真大神怎么定义类名、包名、方法名等等。
名词+动词+名词
转换类 静态的
- XXXDTOConverter.java
核心业务类
- XXXXXXProcessor.java 这个标准些
- XXXXXXProcess.java
- XXXXXXHandler.java
- XXXXServiceImpl.java
验证类 静态的
- XXXXValidator.java
常量类 静态的
- XXXXConstants.java
枚举类
- XXXXEnum.java
自定义异常
- XXXXException.java
定时任务
- XXXScheduler.java
rpc接口
- XXXXXXRpcServiceImpl.java
拦截器
- XXXXXInterceptor.java
工厂类
- XXXXFactory.java
插件
- XXXXXPlugin.java
上下文
- XXXXXContext.java
工具类
- XXXXUtil.java
测试类
- XXXXTest.java
pojo类定义
- XXXModel.java
- XXXXResult.java
- XXXXRequest.java
- 表名.java Domain类
- XXXXDO.java ---dao接口的对象
- ContentForm.java
- ContentVO.java
- XXXXXDTO.java
方法名 动词
- validate
- send
- check
- doHandler
- add
- handle
- saveXXXX
- executeXXXX
- executeTask
- register
【参考】各层命名规约:
A) Service / DAO 层方法命名规约
1 ) 获取单个对象的方法用 get 做前缀。
2 ) 获取多个对象的方法用 list 做前缀,复数形式结尾如:listObjects。
3 ) 获取统计值的方法用 count 做前缀。
4 ) 插入的方法用 save/insert 做前缀。
5 ) 删除的方法用 remove/delete 做前缀。
6 ) 修改的方法用 update 做前缀。
B) 领域模型命名规约
1 ) 数据对象: xxxDO , xxx 即为数据表名。
2 ) 数据传输对象: xxxDTO , xxx 为业务领域相关的名称。
3 ) 展示对象: xxxVO , xxx 一般为网页名称。
4 ) POJO 是 DO / DTO / BO / VO 的统称,禁止命名成 xxxPOJO 。
接口和实现类的命名有两套规则:
1 ) 【强制】对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部
的实现类用 Impl 的后缀与接口区别。
正例: CacheServiceImpl 实现 CacheService 接口。
2 ) 【推荐】 如果是形容能力的接口名称,取对应的形容词为接口名 ( 通常是– able 的形式 ) 。
正例: AbstractTranslator 实现 Translatable 接口 。
【参考】枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。
说明:枚举其实就是特殊的类,域成员均为常量,且构造方法被默认强制是私有。
正例:枚举名字为 ProcessStatusEnum 的 成员名称: SUCCESS / UNKNOWN _ REASON 。
【推荐】如果模块、接口、类、方法使用了设计模式,在命名时需体现出具体模式。
说明:将设计模式体现在名字中,有利于阅读者快速理解架构设计理念。
正例: public class OrderFactory;
public class LoginProxy;
public class ResourceObserver;
1.自己项目里的代码
2.阿里java开发规约
閱讀更多 程序汪汪 的文章