본문 바로가기
프로그래밍/Java(Spring)

네이밍 규칙 (축약어)

by JobKea 2020. 2. 6.
반응형

작성사유 

 . 현재 환경에서의 네이밍 규칙을 기록하고 차후 프로젝트나 시스템 구축시 활용하기 위하여 기록함

 . 비지니스 로직 성향에 대한 네이밍 규칙으로 되어있으며 퍼블릭한 시스템이 경우 네이밍 규칙을 변경하여 사용하는게 좋을듯함

 . 프로젝트 성향이나 시스템 성향에 따라 네이밍 규칙을 변경하도록, 

 . 더 나은 방식이나 구현 방향에 따라 해당 문서를 수정 할 수도 있고 별도의 게시물로 만들 수 있도록함

 

유의점

 . 아래 네이밍 규칙은 메뉴구성에 따라 화면 명, 패키지 구성, Java 명이 모두 축약자로 되어있어서

   업무에 익숙하지 않는 사람이 시스템을 인계 받을경우 조금더 어렵게 구성되어 보인다는 단점이 있다.

 

 . 

 

 

작업환경 

 : 넥사크로 14

   Java Spring 

   

 

* 메뉴구성 

  대분류 (4자 이하의 영문 약자) / 중분류 (4자 이하의 영문 약자) / 소분류 (4자 이하의 영문 약자

 

  ex ) 게시판 - 공지사항 (2레벨)

       BRD - NTC 

 

      게시판 - 익명 게시판 

       BRD - ANON

 

      게시판 - 게임 - 리그오브레전드

       BRD - GAME - LOL

 

* 화면 네이밍 규칙 

  - 2레벨 화면

    대분류_중분류_시퀀스(001)

   ex) BRD_NTC_001

 

  - 3레벨 화면

   대분류_중분류_소분류_시퀀스(001)

    ex ) BRD_GAME_LOL_001

 

팝업 화면 네이밍 규칙

   - 2/3레벨 화면에서 사용하는 경우

    대분류_중분류_POP_시퀀스

    대분류_중분류_소분류_POP_시퀀스

 

    ex ) BRD_GAME_LOL_POP_001

    ex ) BRD_NTC_POP_001

 

   참고: 팝업 네이밍할때 시퀀스를 무조건 넣을것, 화면에 종속되지 않는 별도의 시퀀스

   참고 : 전 화면에서 사용하는 공통 팝업을 만들고자 한다면 그 범위에 따라 대분류/중분류를 새로 채번한다 

          ex ) 모든 화면에서 사용할 경우 : COM_POP_001

          ex ) 중분류에서 공통으로 사용할 경우 : BRD_COM_POP_001

 

컴포넌트(오브젝트) 네이밍 규칙

   - 오브젝트명 

     접두사(오브젝트) + 기능명 (카멜 표기법)

     ex) btnSearch

     ex) btnUserSearch

 

   - 오브젝트별 접두사 

버튼 btn Listbox lsbx 라디오 버튼 rad Label  lbl    
영역(DIV) div Menu meu 달력 cal Panel  pnl    

콤보박스

드랍다운박스

cbo TextArea Txar 그리드 grd Table  tbl    
체크박스 chk

텍스트박스(textbox, Edit)

edt 데이터셋 ds        

 

* 스크립트 (JS) 네이밍 규칙

  - 함수 (Function)

    접두사(fn) + 기능명 (카멜 표기법)

  

   ex) fnSearchData

   ex) fnGetCalendar

 

  - 이벤트 함수

    오브젝트명_이벤트명 (오브젝트명, 이벤트명 각각 카멜표기법)

    오브젝트명_오브젝트명_이벤트명 (오브젝트명, 이벤트명 각각 카멜표기법)

 

   ex) btnSearch_onClick

   ex) divSearch_btnSearch_onClick (div 안에 버튼이 있는 경우)

 

 - 변수

   1) 전역변수 

    접두사(i) + 기능명 (카멜 표기법)

   ex) iUserID

   ex) iUserJoinTime

 

   2) 지역변수 (내부선언)

    접두사(v) + 기능명 (카멜 표기법)

   ex) vUserName

   ex) vUserID

 

   3) 파라미터 변수

    접두사(p) + 기능명 (카멜 표기법)

    ex) pUserId

    ex) pUserName

 

   4) 스태틱 변수

    지역접두사 + 접두사(s) + 기능명

    ex) 전역 스태틱 변수 : isUserid

    ex) 지역 스태틱 변수 : vsUserid

 

 

* Java 네이밍 규칙

 

패키지 구성

각 패키지는 메뉴 순서로 구성한다. 모든 패키지 명은 소문자로 한다.

   src/프로젝트명/대분류/중분류/소분류

 

ex) 프로젝트명이 site 일경우 롤 게시판

   src/site/brd/game/lol/

 

최 하위 패키지 구성

  클래스 성격에 따라 service, dao, vo, query로 나누어서 생성한다.

  src/site/brd/game/lol/service

  src/site/brd/game/lol/dao

  src/site/brd/game/lol/vo

  src/site/brd/game/lol/query

 

Java/xml 파일 네이밍 규칙

 

 인터페이스는 화면명 + 최 하위 패키지 명으로 생성한다.

 구현체는 대응되는 인터페이스 +Impl 로 생성한다.

 클래스명은 파일명과 동일하게 사용한다.

 

src/site/brd/game/lol/service 패키지

   EX ) BRD_GAME_LOL_001Service.java

   EX ) BRD_GAME_LOL_001ServiceImpl.java

 

   EX ) BRD_GAME_LOL_POP_001Service.java

   EX ) BRD_GAME_LOL_POP_001ServiceImpl.java

 

src/site/brd/game/lol/dao 패키지

   EX ) BRD_GAME_LOL_POP_001Dao.java

   EX ) BRD_GAME_LOL_POP_001DaoImpl.java

 

   EX ) BRD_GAME_LOL_001Dao.java

   EX ) BRD_GAME_LOL_001DaoImpl.java

 

src/site/brd/game/lol/vo패키지

   EX ) BRD_GAME_LOL_001Vo.java

 

   EX ) BRD_GAME_LOL_POP_001Vo.java

 

src/site/brd/game/lol/query 패키지

   EX ) BRD_GAME_LOL_001Query.xml

 

   EX ) BRD_GAME_LOL_POP_001Query.xml

 

 

함수, 메소드(Method) 네이밍 규칙

  카멜 규칙을 사용한다. 접두사로 기능에 따라 select, update, delect, insert 를 붙힌다.

  카멜 규칙을 사용할때 최대한 축약어를 최소화 한다.

  

 

  ex )  selectBoardList

  ex )  deleteBaord

  ex )  updateBaordText

 

클래스 선언 규칙

  클래스를 선언하여 사용할경우 선언된 클래스 명은 카멜 규칙을 사용한다.

 

  ex) BRD_GAME_LOL_001DAO brdGameLol001Dao = new BRD_GAME_LOL_001DAO ();

      brdGameLol001Dao.deleteBoardList( boardNum );

 

변수 선언 규칙

   카멜 규칙을 사용한다.

    ex )  String boardnum = String.Empty();

    ex )  int sortSeq = 0;

 

 

 

 그외 규칙 

   반의어는 반드시 반대되는 개념으로 사용한다.

   출처 : https://jungwoon.github.io/tips/2016/12/27/Coding-Naming-Rules/

  • get / set
  • add / remove
  • create / destroy
  • start / stop
  • insert / delete
  • increment / decrement
  • old / new
  • begin / end
  • first / last
  • up / down
  • min / max
  • next / previous
  • open / close
  • show / hide
  • suspend / resume
  • parent / child

    

  

  

 

반응형

댓글