摘了自用,侵删
一、变量
下面是很多源码中也经常出现的命名前缀后缀,希望通过这种方式,对日常编程命名有一定参考价值!
命名 | 案例 | 描述 |
---|---|---|
xxxContext | RpcRequestContext、ServletContext | 应用上下文,整个调用方法链条;作用域较大、生命周期长,能承载较多信息 |
xxxHolder | BeanDefinitionHolder | 持有者,拥有某一个对象;理论上,xxxHolder 对象不具备行为能力,只提供xxx信息和一些相关附加信息 |
xxxHandler | ResultHandler、ParameterHandler、StatementHandler、MessageHandler | 指某种处理器或处理程序,其主要职责是处理特定类型的事件或任务 |
xxxProcessor | dataProcessor | 功能的处理过程 |
xxxAction | deleteAction | 行为 |
xxxFilter | ConvertFilter | 过滤器 |
xxxInterceptor | UpdateInterceptor | 拦截器 |
xxxPipeline | servicePipeline | 管道、责任链中使用 |
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 | 尝试,不保证成功 |
二、模式
设计模式是编程中经常遇见的,通过命名能快速确定设计模式,对于阅读代码非常有帮助。
以下是部分常见的设计模式的命名方式,不是强制性的命名规范。
模式名称 | 常见前后缀 | 具体例子和中文注释 |
---|---|---|
单例模式 | Singleton | DatabaseSingleton - 数据库连接的单例实例。 |
工厂方法 | Factory | CarFactory - 创建不同类型的汽车对象。 |
抽象工厂 | AbstractFactory | FurnitureFactory - 提供一系列相关或相互依赖的对象。 |
建造者模式 | Builder | HouseBuilder - 分步构建复杂的对象,如建造一个房子。 |
原型模式 | Prototype | ShapePrototype - 通过复制现有对象创建新对象。 |
适配器模式 | Adapter | SocketAdapter - 将一个类的接口转换为客户期望的另一个接口。 |
组合模式 | Composite | FileComposite - 以树形结构来表示整体与部分层次结构。 |
装饰模式 | Decorator | CoffeeDecorator - 动态地给一个对象添加额外的职责。 |
外观模式 | Facade | ComputerFacade - 提供一个一致的界面,简化了客户端访问。 |
享元模式 | Flyweight | CharacterFlyweight - 使用共享技术有效地支持大量细粒度的对象。 |
代理模式 | Proxy | ImageProxy - 为其他对象提供一个代理以控制对这个对象的访问。 |
责任链模式 | Chain | SupportHandler - 使多个对象都有机会处理请求。 |
命令模式 | Command | LightCommand - 将请求封装成对象,使其可以参数化其他对象。 |
解释器模式 | Interpreter | ExpressionInterpreter - 定义一个解释器来解释语言中的句子。 |
迭代器模式 | Iterator | ArrayListIterator - 提供方法顺序访问一个元素。 |
中介者模式 | Mediator | ChatRoomMediator - 用一个中介对象来封装对象交互。 |
观察者模式 | Observer | WeatherObserver - 一对多的依赖关系,让多个观察者监听一个主题对象。 |
状态模式 | State | OrderState - 当一个对象的内在状态改变时允许改变其行为。 |
策略模式 | Strategy | SortingStrategy - 定义一系列算法,并将其封装起来,使其可以互相替换。 |
模板方法 | Template | GameTemplate - 定义一个操作中的算法的骨架。 |
访问者模式 | Visitor | NodeVisitor - 作用于某对象结构中的各元素的操作。 |
三、方法
工作中,使用过的一些通用性方法命名。
Code | Case | Description |
---|---|---|
xxxInvoke() / InvokeXXX() | beforeInvoke(xx)\afterInvoke() | 在激活调用某些方法,或者回调 |
xxxRun()/xxxStart() | appRun()/xxxStart() | 特定功能开始、启动 |
xxxlaunch() / launch | launch() | 动某个过程、服务或应用程序 |
doXXX() | doDispatch | 真正的调用的方法,doGet(String BeanName)/ doRegister(XXX) 注册方法 |
executeXXX() | executeCommand() | 执行模型方法 |
processXXX() | processData() | 处理事情 |