提问人:Pavel Petrashov 提问时间:12/21/2021 最后编辑:AmrDeveloperPavel Petrashov 更新时间:4/10/2022 访问量:166
重构方法并删除额外的局部变量(删除绑定)
Refactor method and remove extra local variable(remove binding)
问:
我有这个类:
public class User {
private String name;
private int age;
//getters setters
}
我有一个方法,可以更新用户对象:
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);
}
}
这是一个简单的例子,只是一个例子。如何重构此代码并删除变量?needUpdate
答:
0赞
Kai-Sheng Yang
4/10/2022
#1
只需拆分为两种方法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);
}
}
评论
boolean