当前位置: 首页 > news >正文

分享一个常用的命名规则和Spring的命名风格

目录

Spring 命名风格规范总结表

常用代码命名单词(通用且专业)

 命名技巧

一、返回布尔值的方法

二、条件执行方法

三、异步处理方法

四、回调方法

五、集合操作方法

六、状态校验方法

七、对象生命周期方法

八、数据操作方法


Spring 命名风格规范总结表

类别命名规则示例错误示例
包名全小写,按模块划分,使用 . 分隔com.example.demo.servicecom.Example.Service
类名PascalCase(大驼峰),根据功能添加后缀UserServiceOrderControlleruserServiceOrder_Controller
接口名PascalCase,通常不加 I 前缀UserServiceUserRepositoryIUserService
方法名camelCase(小驼峰),动词开头,语义清晰getUserById()deleteOrder()FetchUserData()UserfindById()
变量 & 参数名camelCase,布尔值用 ishas 开头userNameisActiveUser_Nameactive
Bean 名称默认类名首字母小写,可用 @Bean 指定@Service("userService")@Service("UserServiceImpl")
实体类(Entity)PascalCase,直接使用业务名称User, OrderUser_Entity
DTO(数据传输对象)业务名 + DTOUserDTOUser_Data_Transfer
VO(视图对象)业务名 + VOUserVOUserViewObj
Service 层业务名 + ServiceOrderServiceOrderServices
Controller 层业务名 + ControllerUserControllerUsersCtrl
Repository 层业务名 + RepositoryDaoUserRepositoryUserRepo
配置类业务名 + ConfigSecurityConfigSecConfig
拦截器业务名 + InterceptorAuthInterceptorAuthFilter
监听器业务名 + ListenerUserEventListenerUserListner
工具类业务名 + UtilUtilsDateUtil, JsonUtilsDateUtilityClass
切面(AOP)业务名 + AspectLoggingAspectLoggerAop
REST API URL资源名用复数,遵循 RESTful 规范/users/{id}/orders/getUserById/deleteUser
Spring Data JPA 方法findByXxx()deleteByXxx()countByXxx()findByEmail()deleteById()searchUserByEmail()

常用代码命名单词(通用且专业)

适用于 Java 开发,包括 Spring、工具类、设计模式等

单词含义常见用途示例
Abstract抽象抽象类或方法AbstractUserService, AbstractFactory
Adapter适配器适配不同接口的类JsonAdapter, DatabaseAdapter
Aggregator聚合器聚合多个数据源LogAggregator, MetricsAggregator
Analyzer分析器数据分析工具TextAnalyzer, ImageAnalyzer
Builder构造器生成复杂对象UserBuilder, QueryBuilder
Cache缓存临时存储数据UserCache, SessionCache
Collector采集器收集数据或日志MetricsCollector, LogCollector
Component组件可复用的模块RedisComponent, EmailComponent
Config / Configuration配置配置类SecurityConfig, AppConfiguration
Connector连接器连接外部系统DatabaseConnector, ApiConnector
Constants常量全局静态常量AppConstants, HttpConstants
Context上下文共享状态或环境信息ApplicationContext, ExecutionContext
Controller控制器处理请求UserController, ProductController
Converter转换器类型转换DateConverter, JsonConverter
Dispatcher调度器分发任务或请求EventDispatcher, TaskDispatcher
Engine引擎运行核心逻辑SearchEngine, RuleEngine
Executor执行器执行任务TaskExecutor, CommandExecutor
Factory工厂创建对象的类BeanFactory, ConnectionFactory
Filter过滤器过滤数据RequestFilter, LogFilter
Generator生成器生成唯一 ID、代码等IdGenerator, TokenGenerator
Handler处理器处理事件、异常等RequestHandler, ErrorHandler
Helper助手提供辅助方法JsonHelper, HttpHelper
Initializer初始化器进行系统或组件初始化AppInitializer, DatabaseInitializer
Interceptor拦截器拦截请求或数据流AuthInterceptor, LoggingInterceptor
Job任务定时任务或后台任务BackupJob, EmailJob
Loader加载器加载资源ConfigLoader, DataLoader
Manager管理器负责某个资源的管理UserManager, CacheManager
Mapper映射器处理对象转换UserMapper, DtoMapper
Mediator中介者协调多个对象交互EventMediator, ChatMediator
Monitor监控器监视系统状态ServiceMonitor, HealthMonitor
Observer观察者监听事件EventObserver, StateObserver
Parser解析器解析文本、数据JsonParser, XmlParser
Pipeline管道处理数据流ImageProcessingPipeline, DataPipeline
Processor处理器处理数据或任务OrderProcessor, PaymentProcessor
Provider提供者提供特定服务AuthProvider, PaymentProvider
Proxy代理控制访问对象HttpProxy, DatabaseProxy
Registry注册表维护映射关系ServiceRegistry, BeanRegistry
Renderer渲染器生成 UI 或图像HtmlRenderer, ChartRenderer
Resolver解析器处理依赖解析PathResolver, DependencyResolver
Scheduler调度器处理定时任务JobScheduler, TaskScheduler
Service服务业务逻辑层UserService, OrderService
Session会话管理用户会话UserSession, SessionManager
Singleton单例设计模式中的单例类LoggerSingleton, AppSingleton
Strategy策略处理不同策略CompressionStrategy, SortingStrategy
Task任务执行具体任务DataSyncTask, EmailTask
Tracker追踪器记录行为EventTracker, UserTracker
Transformer转换器数据转换DataTransformer, XmlToJsonTransformer
Utils / Util工具类提供通用方法DateUtils, StringUtil
Validator校验器处理数据验证InputValidator, PasswordValidator
Wrapper包装器对象封装ResponseWrapper, DataWrapper

 命名技巧

  1. 遵循 "对象 + 作用" 模式

    • UserManager(管理用户)

    •  OrderProcessor(处理订单)

    •  ManageUsers(动词开头不符合命名习惯)

  2. 避免冗余

    •  DateUtils(日期工具类)

    • DateUtilityClassUtilityClass 冗余)

  3. 遵循行业术语

    • TaskScheduler(定时任务调度)

    •  JwtProvider(JWT 令牌提供者)

    •  TokenThing(语义不明确)

一、返回布尔值的方法

位置前缀意义描述示例
前缀is对象是否处于预期状态isChecked
前缀can对象能否执行预期行为canRemove
前缀should执行某指令是否明智shouldMigrate
前缀has对象是否具有预期数据属性hasObservers
前缀needs调用者是否需要执行某指令needsMigrate

二、条件执行方法

位置词缀意义描述示例
后缀IfNeeded必要时执行,否则无操作drawIfNeeded
前缀might同上mightCreate
前缀try尝试执行,失败抛出异常/错误码tryCreate
后缀OrDefault失败返回默认值getOrDefault
后缀OrElse失败返回参数指定值getOrElse
前缀force强制执行,错误通过异常/返回值表示forceCreate

三、异步处理方法

类型词缀意义描述示例
前缀blocking阻塞线程执行blockingGetUser
后缀InBackground后台线程执行doInBackground
后缀Async异步方法sendAsync
后缀Sync同步方法(有对应异步版本)sendSync
前缀/词干schedule调度队列任务scheduleJob
前缀/词干post提交任务postJob
前缀/词干execute执行异步处理executeTask
前缀/词干start启动异步处理startJob
前缀/词干cancel取消异步处理cancelJob
前缀/词干stop停止异步处理stopJob

四、回调方法

前缀触发时机示例
on事件发生时触发onCompleted
before事件发生前触发beforeUpdate
pre同 beforepreUpdate
will同 beforewillUpdate
after事件发生后触发afterUpdate
post同 afterpostUpdate
did同 afterdidUpdate
should检查事件是否允许发生shouldUpdate

五、集合操作方法

方法功能描述示例
contains是否包含指定元素contains
add添加元素addJob
append尾部追加元素appendJob
insert在指定位置插入元素insertJob
put添加键值对元素putJob
remove删除元素removeJob
enqueue队列尾部添加元素enqueueJob
dequeue移除并返回队列头部元素dequeueJob
push压入栈顶pushJob
pop弹出栈顶元素popJob
peek查看栈顶元素(不移除)peekJob
find查找符合条件元素findById

六、状态校验方法

方法功能描述示例
ensure检查满足状态,否则抛出异常/错误码ensureCapacity
validate校验状态合法性,非法时抛出异常/错误码validateInputs

七、对象生命周期方法

方法功能描述示例
initialize初始化对象initialize
abandon主动释放资源abandon
destroy销毁对象destroy
dispose释放对象资源dispose

八、数据操作方法

方法功能描述示例
create创建新对象createAccount
new创建新实例newAccount
from根据已有数据构造新对象fromConfig
to数据转换toString
update更新已有数据updateAccount
load加载数据(本地)loadAccount
fetch获取数据(远程)fetchAccount
delete删除数据deleteAccount
remove移除数据removeAccount
save持久化保存saveAccount
store存储数据storeAccount
commit提交变更commitChange
apply应用变更applyChange
clear清空数据/恢复初始状态clearAll
reset重置数据/恢复初始状态resetAll

相关文章:

  • HCIE笔记填空题(H12-891)
  • 文件上传-Windows点号绕过
  • CSS3 圆角:实现与优化指南
  • 知识拓展:Python 接口实现方式对比:Protocol vs @implementer
  • 跨平台开发--Weex
  • 【算法通关村 Day12】字符串
  • 计算机毕业设计SpringBoot+Vue.js视频网站系统(源码+文档+PPT+讲解)
  • Python爬虫实战:自动抓取微博热搜并根据帖子生成词云图
  • 【LLM系列】Deepseek-R1模型详细介绍
  • MySQL -安装与初识
  • C++模拟实现map和set
  • 延迟扩展衰落信道、AWGN、Rayleigh、Rician信道,FMCW雷达的距离、角度、速度信息
  • 前端(vue)学习笔记(CLASS 2):进阶
  • ffmpeg av_find_input_format的作用
  • Windows下不建议使用C/C++运行库的本地化功能
  • transformer架构的语言模型保存的内容与格式详解
  • 【Maven】-- Maven Scope 详解
  • 【一文入门】shell语法进阶篇
  • 鸿蒙next 点击穿透实现
  • org.springframework.boot不存在的其中一个解决办法
  • 10家A股农商行去年年报:瑞丰银行营收增速领跑,常熟银行等4家净利增速超11%
  • 美国内政部长:今年夏天美国可能发生西班牙式大停电,全怪拜登
  • 特朗普要征100%关税,好莱坞这批境外摄制新片有麻烦了
  • 贵州省黔西市发生载人游船侧翻事故
  • 自我田野|从城市搬到农村生活,我找回了真实和附近
  • 四人自驾游宣恩因酒店爆满无处住宿,求助文旅局后住进局长家