最近在寫代碼的時候,遇到了一個這樣的問題,那就是請求實體類中,新增加了一個字段,主要是通過這個字段來判斷mybatis中的sql文件具體操作哪一張表,為了保護之前的代碼,也為了以較少代價修改之前代碼。我是這樣寫的:
public class Person {
private static final String DEFAULT_NAME_VALUE = "丫丫";
private String name;//新增加的字段
private String hobby;
//重寫了新增加字段的get方法
public String getName() {
return this.name == null || "".equals(this.name) ? DEFAULT_NAME_VALUE : this.name;
}
public void setName(String name) {
this.name = name;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
}
我這種寫法雖然將功能實現了,但是寫的還是不夠美觀。公司之前的有資歷的同事看了我寫的代碼還是有一點點小小的失望,於是他經過了簡單地修改,讓我着實受益匪淺。
經過改正后的代碼:
@Setter
@Getter
public class Person { private static final String DEFAULT_NAME_VALUE = "丫丫"; private String name = DEFAULT_NAME_VALUE;//新增加的字段 private String hobby; }
這樣寫的好處是:代碼量明顯減少了,看着也比價清晰,思路一下子明確了。同樣也不會影響到我們后期給新增加的name屬性進行set操作和get操作,如果我們對name屬性沒有賦值,那么name屬性默認取得就是DEFAULT_NAME_VALUE的值。
