공통코드를 Enum 클래스로 관리하기

inhalin·2023년 5월 9일
0

일터지식

목록 보기
13/14

프론트단에서 select box에 들어가는 값들은 많은 경우에 공통코드로 등록된 값을 가져오고 있다. 공통코드를 백엔드단에서 Enum 클래스로 가지고 있기도 하고 아니기도 하다.

Enum 클래로 만들어서 관리해주는 경우는 언제고 그렇지 않은 경우는 언제일까? 현재 회사에서는 어떤 기준으로 결정하지 정리해보았다.

  • 공통코드로 사용하는 경우 클라이언트 단에서 세부 코드를 등록, 수정, 삭제가 가능하다.
    • 보통 단순검색이나 조회용도로만 사용하는 값들은 공통코드로 등록해놓고 Enum 클래스는 만들지 않는다. 단순히 DB 조회만으로 값을 사용한다.
    • 참고로 공통코드를 만들어서 사용하는 경우에는 반드시 먼저 운영 쪽에 추가해주도록 한다.
      • 운영에서 먼저 만들고 개발을 해야 나중에 다른 사람이 운영에서 같은 코드를 사용하지 못한다.
      • 만약 분류코드를 A123으로 정하고 로컬에만 추가한 후에 열심히 개발했는데 다른 사람이 운영에 다른 분류코드에 대해A123 코드를 으로 추가해버리면 내가 개발한 코드에서 분류코드 번호를 다른걸로 바꾸고 소스코드도 다 변경해줘야 한다.
  • 코드 값에 따라 로직이 달라지는 것들은 소스코드상에서 Enum 클래스를 만들어서 사용한다.
    • 이때는 공통코드에 추가해주기도 하고 아니기도 하다. 클라이언트단에서 해당 공통코드의 세부코드를 추가하거나 수정한다고 해도 서버쪽의 로직은 동일하기 때문에 예외가 발생할 수 있는 경우에는 공통코드에 추가하면 안된다.
    • 예를 들어, 메일 전송 모듈에서 사용하는 전송타입은 공통코드로 등록되어 있다. 그리고 전송타입에 따라 메일주소 목록을 불러오고 메일내용이 템플릿에 추가된다.
      • 전송타입 공통코드에 새로운 코드로 반송알림을 추가했다면 반송된 경우에 메일을 보내는 로직을 백단에서 코드를 작성해주어야 한다. 코드만 추가한다고 반송알림 메일이 나가지 않는다.
      • 반송알림에 대한 로직과 메일 템플릿을 추가하지 않으면 해당 타입에 매칭되는 메일주소 목록도 없기 때문에 메일은 발송되지 않는다.

0개의 댓글