Проверка рефакторинга с помощью оператора return ifJAVA

Программисты JAVA общаются здесь
Anonymous
Проверка рефакторинга с помощью оператора return if

Сообщение Anonymous »

У меня много методов, и для каждого метода мне нужно выполнить проверку. В настоящее время мой код выглядит так и работает нормально.
@Service
public class UserService {
@Autowired
private UserValidation userValidation;

public BaseResponse login(UserLoginRequest request) {
List errors = userValidation.validateUserLoginRequest(request);
if (!errors.isEmpty()) return Utils.constructFailedBaseResponse(errors);
// ...
}

public BaseResponse register(UserRegisterRequest request) {
List errors = userValidation.validateUserRegisterRequest(request);
if (!errors.isEmpty()) return Utils.constructFailedBaseResponse(errors);
// ...
}

public BaseResponse view(String username) {
List errors = userValidation.validateUserUsernameExists(username);
if (!errors.isEmpty()) return Utils.constructFailedBaseResponse(errors);
// ...
}

public BaseResponse edit(UserEditRequest request) {
List errors = userValidation.validateUserEditRequest(request);
if (!errors.isEmpty()) return Utils.constructFailedBaseResponse(errors);
// ...
}
}

Однако мне интересно, есть ли способ реорганизовать код, чтобы мне не нужно было выполнять повторяющиеся операторы if для каждого метода. Приведенный ниже код — это то, чего я пытаюсь достичь, но не знаю, как это сделать. Есть идеи, как преобразовать код выше в код ниже? Еще одно решение рефакторинга очень приветствуется.
(Или мне следует просто придерживаться приведенного выше кода? Почему?)
@Service
public class UserService {
@Autowired
private UserValidation userValidation;

public BaseResponse login(UserLoginRequest request) {
userValidation.validateUserLoginRequest(request);
// ...
}

public BaseResponse register(UserRegisterRequest request) {
userValidation.validateUserRegisterRequest(request);
// ...
}

public BaseResponse view(String username) {
userValidation.validateUserUsernameExists(username);
// ...
}

public BaseResponse edit(UserEditRequest request) {
userValidation.validateUserEditRequest(request);
// ...
}
}

Вернуться в «JAVA»