命名应贴合业务场景,优先用动词或动宾结构表达行为意图;接口名以功能+语义化后缀(如…er、…or)组成;泛型参数需具象化,避免单字母。

命名要体现行为意图,不追求通用,而要贴合业务场景。
方法名优先用动词或动宾结构
函数式接口的抽象方法代表一种可执行动作,名称应直接表达“做什么”。比如:
- validate(校验)、transform(转换)、filterBy(按条件过滤)
- calculateTax、parseJson、retryOnFailure——带业务上下文,比 generic 的 apply 或 doWork 更清晰
接口名体现用途而非技术特征
避免叫 MyFunction、CustomHandler 这类空泛名称。推荐方式:
- 以功能+后缀组合:如 OrderValidator、PaymentRetryPolicy、UserIdExtractor
- 后缀可选 …er(执行者)、…or(操作者)、…Predicate(判断型)、…Supplier(供给型),与 JDK 内置命名风格对齐
保持简洁,但拒绝过度缩写
名称需在可读性与长度间平衡:
立即学习“Java免费学习笔记(深入)”;
- ✅ ApiKeyGenerator —— 明确、无歧义
- ❌ AKG 或 GenKey —— 缩写难懂,缺少领域信息
- ⚠️ GenerateApiKeyForExternalServiceWithFallback —— 过长,应拆解逻辑或提炼核心语义
泛型参数命名需具象化
若接口含泛型,类型参数名应反映其业务角色,而非单字母:
- ✅ interface UserProcessor { void process(U user); }
- ✅ interface OrderTransformer
- ❌ interface Processor
—— 除非复用性极高且上下文极其明确


















