lang
lang/java/coding-style/index.md
medium
lang-java-coding-style-index
Java 编码规范六件事 — 禁魔法值 / Optional 用法 / 防 NPE / equals-hashCode / 字符串处理 / Lombok 约定。Use when 写 Java 业务代码 / 评审编码细节的 PR / 排查 NPE 或哈希失效时。
子项索引
| 子项 | 一句话 |
|---|---|
| no-magic-value skill | Java 禁魔法值 — 散落的数字/字符串字面量抽成常量、枚举或配置项 |
| optional-usage skill | Optional 正确用法 — 只用于返回值不用于字段/参数,禁裸 get(),orElse vs orElseGet,用 ifPresent/map |
| null-safety skill | Java 防 NPE — 参数 Objects.requireNonNull 校验、返回空集合不返回 null、@Nullable 标注、比较用 Objects.equals |
| equals-hashcode skill | equals 与 hashCode 必须成对重写、用 Objects.hash 实现、与 compareTo 一致、优先 IDE/Lombok 生成 |
| string-handling skill | Java 字符串处理 — 循环拼接用 StringBuilder、比较用 equals 不用 ==、多变量格式化用 String.format、空判断用 isEmpty/isBlank |
| lombok-usage skill | Lombok 注解约定 — @Data 慎用(暴露 setter)、优先 @Getter/@Builder/@RequiredArgsConstructor、@EqualsAndHashCode 继承坑 |
Coding Style · 子项索引
编码规范拆成六个独立决策点,按你正在做的事下钻:
| 你在做什么 | 进哪个 |
|---|---|
| 代码里出现裸数字 / 字符串字面量,想抽常量 / 枚举 / 配置 | no-magic-value |
| 方法返回值可能没有,纠结 Optional 怎么用(get / orElse / ifPresent) | optional-usage |
| 防 NPE:校验入参、返回集合该不该为 null、可空标注、安全比较 | null-safety |
| 重写 equals / 把对象放进 HashSet / HashMap key | equals-hashcode |
| 拼接、比较字符串,或判断字符串是否为空 | string-handling |
| 给类加 Lombok 注解(@Data / @Builder / @Getter / 构造器注入) | lombok-usage |
相关
- 父:
../index.md - 平行模块:
../error-handling/index.md·../naming/index.md - 跨维度:
../../../habit/code-quality/index.md(跨语言代码质量通则)