자유게시판

제목 DB 네이밍...
글쓴이 템페스트 작성시각 2018/01/08 09:11:46
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 8787   RSS

업무관련 프로그램을 만들게 됫는데

적당한 이름이 생각나지 않네요..

구글에서 한글 -> 영어 번역기 쓰고 하는데

DB 에 enum 필드로 만들만한 적당한 단순하고 간단한 명사가 없을까요? 

접수중 / 처리중 / 처리완료 / 장기보류 / 거절 / 선완료처리 / 처리불필요

int 필드로 처리하려니까 나중에 알아보기가 쉽지 않을꺼같아서..

 다음글 혹시 php 주력으로 대학교쪽 SI업체분 계신가요? (6)
 이전글 http2를 적용했더니.... (9)

댓글

kaido / 2018/01/08 10:22:45 / 추천 0

사실 고민이 엄청 되는부분이긴 합니다

int 로 하면 코드표를 따로 만들어서 관리해야 하는 점이 있고, [숫자만 보면 뭔지 모르기때문] 출력시에 한번씩 코드표를 이용해 전환해줘야 합니다. [이게 생각보다 유지보수에 엄청 안좋습니다. 코드표를 모르는 사람은 코드표가 어디 정의 되어있는지만 찾아다니느라 시간 다 날립니다 ㅋㅋ]

거기에 int 형태로 하면 뒤로 갈수록 마무리 된다는 느낌으로 순서를 나열하게 되는데...

중간에 환불이나 등등이 들어가면 순서가 꼬인다는 느낌이 강해집니다.

 

네이밍은 정식 영문 이름이 딱 알맞고 적절하다면 그대로 차용 합니다만...

그렇지 않은 케이스가 더 많다 보니... 적당히 콩글리쉬(?)로 처리 하시는 것도 ㅎㅎ

 

꾸꾸 / 2018/01/08 11:22:31 / 추천 0

enum 필드명을 얘기하는거면.. status 로 하면 어떨까요?

그리고 select 쿼리에서 case 문으로 코드명 처리해서 보여주는걸로..

SELECT  status

, (CASE  status  WHEN 'R' THEN '접수중'

WHEN 'P' THEN '처리중'

...

ELSE status END

) AS status_name

kaido / 2018/01/08 12:36:07 / 추천 0

 결론은 같습니다 ㅎㅎ

P 로 하나 processing 으로 하면 '처리중' 이라고 하나.

논점만 놓고 보면 간단한 단어로 그게 뭔지 알아 보게끔 네이밍 짓는 작업 아닌가요 ㅎㅎ

더불어서 if case 쿼리는 가능하면 사용 하지 않는게 좋습니다.

정확한 정답은 없으니 천천히 생각해보세요 ^^

템페스트 / 2018/01/08 18:26:57 / 추천 0

콩글리쉬작업을 해야겠네요 ㅠ 항상 보다보면 변수이름 클래스이름 메서드 이름짓기가 젤 힘든거같아요

findMembernameByRegistDateAndMemberGroupOrMemberId........ 요정도...?

한대승(불의회상) / 2018/01/08 18:39:41 / 추천 0

@템페스트 이름짓기 힘든건 전세계 개발자들이 항상 고민하는 문제인듯 싶네요.

박쥐 / 2018/01/09 08:54:27 / 추천 0

상태 이름이 관리자나 사용자 페이지에 노출 되어야 하지 않나요.

그렇다면 DB에 상태구분 Int와 상태이름 String을 테이블로 관리하는 것이 좋을거 같습니다.

상태와 상태 사이에는 Int값에 간격을 두어서 나중에 중간에 상태가 추가 될 경우를 대비하구요.