자바/리팩토링
[리팩토링] ENUM 에 한글과 value 등등..
OverTheHorizon3410
2023. 11. 19. 20:58
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