Pav*_*hov 6 java methods refactoring
我有这门课:
public class User {
private String name;
private int age;
//getters setters
}
Run Code Online (Sandbox Code Playgroud)
我有一个方法,它更新用户对象:
public void foo(User user) {
boolean needUpdate = false;
if(needUpdateName(user.getName())) {
user.setName("new name");
needUpdate = true;
}
if(needUpdateAge(user.getAge())) {
user.setAge(42);
needUpdate = true;
}
if(needUpdate) {
userRepository.update(user);
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个简单的例子,仅作为示例。如何重构这段代码并删除needUpdate变量?
只需分为Foo两种方法
public void updateNameIfNeed(User user) {
if (needUpdateName(user.getName())) {
user.setName("new name");
userRepository.update(user);
}
}
public void updateAgeIfNeed(User user) {
if (needUpdateAge(user.getAge())) {
user.setAge(42);
userRepository.update(user);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |