推薦類結構順序
public class MyClass {
// 1. 常量
public static final String CONST = "VALUE";
// 2. 靜態字段
private static int staticField;
// 3. 實例字段
private String name;
private int age;
// 4. 構造器(無參 → 全參 → 部分參)
public MyClass() {}
public MyClass(String name, int age) { this.name = name; this.age = age; }
// 5. 靜態工廠方法
public static MyClass createDefault() { return new MyClass(); }
// 6. 業務方法(按功能分組:查詢 → 修改 → 複雜邏輯)
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
public void complexBusinessLogic() { ... }
// 7. Object 覆寫方法
@Override public boolean equals(Object o) { ... }
@Override public int hashCode() { ... }
@Override public String toString() { ... }
// 8. 內部類/枚舉
private enum Status { ... }
}
具體建議
- 字段分組:相關字段緊湊放置,中間空一行分隔不同邏輯組。
- Getter/Setter:IDE 自動生成(Alt+Insert),放在字段後或構造器後,統一風格。
- 方法排序:公共 API 先於私有輔助方法;高層邏輯先於底層實現。
- 單一職責:若方法超過 30 行或類超過 300 行,拆分為新類。
- 格式化:統一使用團隊約定的 formatter(Google Java Format / Eclipse formatter),CI 中強制檢查。
工具輔助
- IntelliJ IDEA:
Code → Reformat Code (Ctrl+Alt+L)、Code → Optimize Imports。
- Checkstyle / SpotBugs / PMD 集成到 Maven/Gradle 構建流程。