DEPARTURE("DEPARTURE", "배송지시"),
DELIVERING("DELIVERING", "배송중"),
FINAL_DELIVERY("FINAL_DELIVERY", "배송완료"),
- enum 에 위에 해당하는 한글 값이 들어가는 것은 왠만하면 권장되지 않는 행동이라고한다.
- 또한 상수값과 value 인
DEPARTURE
는 문자가 동일하다…- 이런 이유때문에 삭제가 권장되긴하는데
- 나는 enum 에 별도의 value 로 검색할 수 있는 기능이 별도 존재해야한다고 생각하기도하며
- 만약 상수값이 변경된다면 데이터베이스에 저장되는 의미까지 변질될 가능성이 있다고 생각되기에, 유지보수의 면에서 별도 value 표기는 필수적이라고 생각된다.
public void removeOrderProducts(long orderId) {
boolean result = orderMapper.deleteSoftlyOrderProducts(orderId);
if (!result) {
throw new DatabaseOperationException(ErrorCode.ORDER_RELATION_DELETE_FAIL);
}
}
public OrderStatus findOrderStatusForUpdate(long orderId) {
OrderStatus orderStatus = orderMapper.selectOrderStatusForUpdate(orderId);
if (orderStatus == null) {
throw new DatabaseOperationException(ErrorCode.ORDER_STATUS_NOT_CANCELABLE);
}
return orderStatus;
}
- if(거짓조건) 보다 if(참조건)으로 코드를 읽는 사람들에게 하나의 관통된 조건으로 코드를 읽을 수 있도록 이점을 주어야 한다.
- 또한 위와 관련된 로직을 전부 참 조건으로 수정하면서 테스트코드에서 잘된 표기된 부분을 찾아 낼 수 있었다.
Uploaded by N2T
'자바 > 리팩토링' 카테고리의 다른 글
[리팩토링] 통합테스트와 단위테스트를 동시에 수행시 발생하는 테스트 메서드의 독립성 문제 (0) | 2023.11.26 |
---|---|
[리팩토링] ExecutorService 에서 execute 과 submit 은 각각 어떤 경우 사용해야될까? (0) | 2023.11.26 |
[리팩토링] 기획된 개발은 차라리 낫지.. (0) | 2023.11.17 |
[리팩토링 일기]취소와 반품의 경우 상태관리를 어떤식으로 해줄것인가.. (0) | 2023.11.15 |
[리팩토링 일기] MOCKITO 의 when() 은 왜 이렇게 태어났나.. (0) | 2023.11.12 |