什麼是樣板程式碼?概念總結和範例
什麼是樣板?
- Boilerplate 是指報業公司使用的金屬板。
- 報紙使用金屬板上已經製作的模板重複印刷相同的內容。
樣板程式碼概念
- 樣板程式碼是指每次啟動新專案時都必須重複編寫的程式碼。樣板程式碼是在多個地方以類似方式重複的程式碼。
- 例如,這包括建立專案結構、初始化設定、載入庫等。或者,它指的是**在實現特定功能時必須重複編寫的程式碼,例如 Getter & Setter 方法。
樣板程式碼範例
- 樣板程式碼可以以多種語言出現。
- Java中用作樣板的程式碼範例如下:
- getter&setter方法
- equals() 和 hashCode() 方法
- toString()方法
- 建構方法
- 以上程式碼是每次建立新類別時必須重複編寫的程式碼。
// 1. Getter & Setter Method
public class Person {
private String name;
private int age;
// Getter Method
public String getName() {
return name;
}
// Setter Method
public void setName(String name) {
this.name = name;
}
// Getter Method
public int getAge() {
return age;
}
// Setter Method
public void setAge(int age) {
this.age = age;
}
}
// 2. equals() and hashCode() Method
public class Person {
private String name;
private int age;
// equals() Method
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age && Objects.equals(name, person.name);
}
// hashCode() Method
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
// 3. toString() Method
public class Person {
private String name;
private int age;
// toString() Method
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
// 4. Constructor Method
public class Person {
private String name;
private int age;
// Constructor Method
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
如何減少樣板程式碼
- 樣板程式碼是必須重複編寫的程式碼,因此隨著程式碼量的增加,程式碼的可讀性可能會下降。
- 在Java中,可以使用以下方法來減少樣板程式碼。
- 使用IDE(整合開發環境):使用IDE提供的功能可以自動產生樣板程式碼。
- 使用Lombok函式庫:可以使用Lombok函式庫自動產生Getter & Setter方法、equals()和hashCode()方法、toString()方法、Constructor方法等。
- 使用註解處理器:可以使用註解處理器自動產生樣板程式碼。
- 使用模板引擎:可以使用模板引擎自動產生樣板程式碼。
- 在Java中,您可以使用Lombok函式庫來減少Boilerplate程式碼,如下所示。
- 使用@Data註解,可以自動建立Getter&Setter方法、equals()和hashCode()方法、toString()方法、Constructor方法。
- 只需使用@Data註解可以減少程式碼編寫,如下所示。
import lombok.Data;
@Data
public class Person {
private String name;
private int age;
}
- 根據語言或框架的不同,減少樣板程式碼的方法可能會有所不同。透過使用您正在使用的語言或框架提供的功能,找到減少樣板程式碼的方法。