🍀一份 Java 常用命名梳理–纯个人篇

以下命名纯属个人习惯,非官方,如感兴趣可一提起探讨!

好的命名能见名知意,看似简单其实不易。最近有空,梳理一些常见命名套路,以供参考!

本文概要: 主要罗列常见的命名前缀后缀,从变量、设计模式、方法等展开;所枚举只是冰山一角,如有需要再补充。

🐳一、变量

下面是很多源码中也经常出现的命名前缀后缀,希望通过这种方式,对日常编程命名有一定参考价值!

命名 案例 描述
xxxContext RpcRequestContext 、ServletContext 应用上下文 应用上下文,整个调用方法链条;作用域较大、生命周期长,能承载较多信息
xxxHolder BeanDefinitionHolder,除了包含BeanDefinition信息 持有者,拥有某一个对象; 理论上,xxxHolder 对象不具备行为能力,只提供xxx信息和一些相关附加信息
xxxHandler mybatis 中的 ResultHandler、ParameterHandler、StatementHandler; MessageHandler 指某种处理器或处理程序,其主要职责是处理特定类型的事件或任务
xxxProcessor dataProcessor 功能的处理过程
xxxAction deleteAction 行为
xxxFilter ConvertFilter 过滤器
xxxInterceptor UpdateInterceptor 拦截器
xxxPipeline servciePipeline 管道、责任链中使用
xxxChain FilterChain 链条、责任链中使用
xxxChannel SocketChannel 通道
xxxRequest httpRequest 请求体,包含内容多
xxxResponse httResponse 请求返回,包含内容多
xxxParam TeamParam 请求参数
xxxRegistry MapperRegistry 注册资源,以及管理他们
xxxFactory CarProductFactory 生命生产工厂
xxxProxyFactory AopProxyFactory 代理工程等
xxxBuilder stringBuilder 构造器
xxxCreator reportCreator 创造者
xxxProcessor dataProcessor 处理器
xxxConverter jsonConverter 转换器,从一种状态转换成另外一种状态、或者数据格式等
xxxCallback completionCallback 方法回调
xxxTask/ xxxJob backTask/backJob 特定任务
xxxManager UserManager、TaskManager、ConfigruationManager 对有生命状态的对象进行管理;通常用于封装业务逻辑或处理复杂操作的类
xxxUtil cacheUtil 工具类
xxxHelper bizHelper 助手,协助完成
xxxResource imageResource 特定资源
xxxConfig appConfig 配置
xxxException BizException 异常
xxxBuffer StringBuffer 缓冲区
xxxListener ActionListener 监听者,响应事件或变化
xxxPool ConnectionPool 连接池
#### xxxParser XmlParser 解析器,什么的解析
xxxEngine WorkflowEngin 比如流程引擎,非常核心的类
xxxBootstrap AppBootstrap 框架的启动类
xxxGateway ApiGateway 网关
xxxLoader ResourceLoader 加载器
xxxAdapter httpAdapter 适配
xxxValidator ParamValidator 校验器
xxxLayer DatabaseAdapterLayer 层级,比如 ETL
xxxProducer /xxxConsumer KafkaProducer 生成者、消费者
xxxPlugin CompilerPlugin 插件
xxxClient TransportClient 客户端
xxxApplication DemoApplication 应用入口
isXXX / hasXXX,canXXX isEnabled, hasError, canEdit boolean 类型的状态; 布尔相关的命名加上 is、can、should、has 等前缀。
defaultXXX defaultInvokerService 默认什么的处理器
assembleXXX assembleCar 组装、收集、聚集
customXXX customDataSource 自定义类
IllegalXXX IllegalException 非法,如非法异常
tryXXX tryRelease 尝试,不保证成功
……..

其他常见的后缀: model、entity、DAO、DTO、BO、VO、service、controller、manager、respository

还有很多,就不展开了,有需要自行总结。

🐋二、模式

设计模式是编程中经常遇见的,通过命名能快速确定设计模式,对于阅读代码非常有帮助。

以下是部分常见的设计模式的命名方式,不是强制性的命名规范。

模式名称 常见前后缀 具体例子和中文注释
单例模式 Singleton、Instance DatabaseSingleton – 数据库连接的单例实例。
工厂方法 Factory, Creator CarFactory – 创建不同类型的汽车对象。
抽象工厂 AbstractFactory FurnitureFactory – 提供一系列相关或相互依赖的对象
建造者模式 Builder HouseBuilder – 分步构建复杂的对象,如建造一个房子。
原型模式 Prototype ShapePrototype – 通过复制现有对象创建新对象,比如克隆形状对象。
适配器模式 Adapter SocketAdapter – 将一个类的接口转换为客户期望的另一个接口
组合模式 Composite FileComposite – 以树形结构来表示整体与部分层次结构,使得用户对单个对象和组合对象的使用具有一致性。
装饰模式 Decorator CoffeeDecorator – 动态地给一个对象添加一些额外的职责,比如给咖啡添加糖或者奶。
外观模式 Facade ComputerFacade – 为子系统中的一组接口提供一个一致的界面,简化了客户端对子系统的访问
享元模式 Flyweight CharacterFlyweight – 使用共享技术有效地支持大量细粒度的对象
代理模式 Proxy、#### Delegate ImageProxy – 为其他对象提供一个代理以控制对这个对象的访问
责任链模式 Chain, Handler SupportHandler – 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。
命令模式 Command LightCommand – 将请求封装成对象,从而使你可以用不同的请求、队列或者日志来参数化其他对象
解释器模式 Interpreter ExpressionInterpreter – 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
迭代器模式 Iterator ArrayListIterator – 提供方法顺序访问一个元素,而又不暴露该对象的内部表示。
中介者模式 Mediator ChatRoomMediator – 用一个中介对象来封装一系列的对象交互
观察者模式 Observer, Listener WeatherObserver – 定义了一种一对多的依赖关系让多个观察者对象同时监听某一个主题对象。
状态模式 State OrderState – 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。
策略模式 Strategy SortingStrategy – 定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换
模板方法 Template GameTemplate – 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
访问者模式 Visitor NodeVisitor – 表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。

备忘录和 桥接模式用的少,未给出。

🐬三、方法

工作中,使用过的一些通用性方法命名。

code 案例 描述
xxxInvoke() / InvokeXXX() beforeInvoke(xx)afterInvoke() 在激活调用某些方法,或者回调
xxxRun()/xxxStart() appRun()/xxxStart() 特定功能开始、启动
xxxlaunch() / launch launch() 动某个过程、服务或应用程序
doXXX() doDipatch 真正的调用的方法,doGet(String BeanName)/ doRegister(XXX) 注册方法
executeXXX() executeCommand() 执行模型方法
processXXX() processData() 处理事情

方法的命名非常之多,也就不一一举例了。

🦭四、其他

少部分近义词

单词 可替代单词
send deliver、dispatch、announce、distribute、route
find search、extract、locate、recover
start launch、create、begin、open
make create、set up、build、generate、compose、add、new
  • 名字长短准则:作用域越大,名字越长。在短作用域才使用简单名字。
  • 可以使用 item_i, index_i 替代 i、j、k 。 使代码更有可读性。

最后小结:通过一些名称的梳理和总结,希望在今后的工作中起到一定的帮助作用,做到一点点有迹可循!

阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=21444,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?