Java方法名必须是动词或动词短语,以小写字母开头、驼峰式命名,准确表达行为意图;布尔方法须以is/has/can开头;应避免名词前置、缩写、同义词混用及过度泛化。

Java 方法名必须是动词或动词短语,这是最核心的命名原则。它直接体现方法的行为意图,让调用方一眼看懂“这个方法要做什么”,而不是“它是什么”。
动词开头是硬性要求
Java 官方《Code Conventions for the Java Programming Language》和主流规范(如 Google Java Style Guide)均明确:方法名应以小写字母开头的动词起始,采用驼峰式(camelCase)。名词或形容词开头的方法名属于设计缺陷,容易引发语义混淆。
- ✅ 正确示例: saveUser()、isValidEmail()、calculateTotalPrice()、findByName()
- ❌ 错误示例: userSave()(名词前置,像类名)、emailValidation()(名词化,应为 validateEmail())、totalPriceCalculation()(应为 calculateTotalPrice())
区分方法类型,选用精准动词
不同语义的方法应匹配惯用动词,避免一词多用导致歧义:
- 获取数据 / 查询:用 get(简单属性)、find(数据库/集合查找)、search(带条件模糊检索)、load(从外部加载)、retrieve(强调显式获取)
- 判断状态:用 is、has、can(如 isEnabled()、hasPermission()、canEdit())
- 修改状态 / 执行操作:用 set(赋值)、update(更新已有对象)、delete、clear、start、stop、process
- 转换或生成:用 to(toString())、as(asList())、build、create、parse
避免常见陷阱
动词开头不等于随便加个动词就合规,需兼顾准确性与一致性:
立即学习“Java免费学习笔记(深入)”;
- 不用缩写动词:updUser()、delOrder() 不可接受;应写全 updateUser()、deleteOrder()
- 不混用同义动词:同一上下文中,对同类操作坚持统一动词(如统一用 find 而非有时 find、有时 search 或 query)
- 布尔方法必须以 is/has/can 开头:返回 boolean 的方法名不能是 checkLogin() 或 validateToken()(它们暗示执行动作且无返回语义),而应是 isLoggedIn()、isValidToken()
- 构造行为慎用动词:工厂方法可用 create 或 newInstance,但普通构造器本身不命名,靠重载或 Builder 模式表达意图
结合业务语义,保持自然可读
动词要贴合领域语言,让方法名读起来像一句简洁的英文指令:
- 银行系统中,debitAccount() 比 reduceBalance() 更准确;creditAccount() 比 addBalance() 更专业
- 电商场景下,placeOrder()、cancelOrder()、shipOrder() 直接映射业务流程,比 doOrder() 或 handleOrder() 清晰得多
- 避免过度泛化:不用 doSomething()、processData() 这类无法传达具体行为的名称










