skip navigation

표준 표기법

  • - DB 컬럼 표현은 언더스코어 표기법 사용

  • - 그 외의 경우는 카멜 표기법을 사용

표준 표기법 이름, 설명
이름 설명
헝가리언 표기법 (Hungarian)
  • - 변수의 대소문자를 구별, 특별한 접두어를 사용

카멜 표기법 (Camel Casing)
  • - 단어와 단어 사이를 대문자로 구분하는 방법

  • - 첫 단어는 소문자로 사용

  • - 낙타의 혹을 닮아서 붙여진 이름

파스칼 표기법 (Pascal Casing)
  • - 모든 단어의 첫 문자를 대문자로 사용

  • - 프로퍼티, 이벤트, 클래스 이름에 사용할 것을 권장

언더스코어 표기법 (Underscore)
  • - 단어와 단어 사이를 언더스코어(_)로 구분

  • - 모든 문자를 소문자로 사용

Java

01. Variable

변수 명명법
  • - ‘임시 변수 (Temporary Variable)’와 ‘상수(Constant)’는 예외

변수 명명법 예, 규칙
규칙
DB 컬럼명 : FIRST_NAME
변수명 : first_name
  • - DB 테이블과 매핑되는 변수일 경우 컬럼명을 사용

  • - 언더스코어 표기법

변수명 : today
의미 : Today 변수
  • - 의미 있는 변수명은 용어 사전에 정의된 약어를 사용이 원칙

firstName
fileLength
memberName
  • - 변수 표기는 기본으로 컬럼명을 따른다. 그 외 변수는 용어 사전을 참조하여 작성

  • - 첫 단어는 소문자로 시작하는 동사/형용사 등을 사용, 이후 각 단어는 대문자로 시작(카멜 표기법)

  • - 변수명의 길이는 30자 이내

memberId
firstClass
numberOfClass
  • - 단어 조합 시 다음과 같은 형태로 작성

  • • 명사 + 명사

  • • 형용사 + 명사

  • • 명사 + 형용사 + 명사

02. Constant

상수 명명법
  • - Class 상수 또는 일반 상수로 정의된 변수 명은 ‘임시 변수 (Temporary Variable)’와 ‘상수(Constant)’는 예외

상수 명명법 예, 규칙
규칙
public static final int MIX_VALUE = 0;
public static final int MAX_VALUE = 100;
  • - 상수로 정의된 변수명은 단어간에 Underscore(_)로 분리되는 대문자로 표기

03. Class

  • - class명명규칙은 [용어사전][postfix].java로 한다.

명명규칙 예, 규칙
규칙
SamplePostfix 용어 사전의 단어를 사용하는 경우 첫 글자만 대문자로 함
SampleDoPostfix 복합 단어로 구성될 경우 첫 단어는 대문자로 시작하고, 이후 각 단어도 대문자로 시작
SamplePostfixTest 테스트 클래스는 클래스 명명규칙을 유일성을 식별 (jUnit규칙을 따른다)하도록 함. (~Test.java)
  • - Postfix Index

Postfix 예, 규칙
Postfix 규칙
Controller SampleController.java Controller Class
Service SampleService.java Service Interface
ServiceImpl SampleServiceImpl.java Service Interface 구현 Class
DAO SampleDAO.java DAO Class
VO PersonVO.java VO Class
Test SampleControllerTest.java  
View AjaxSimpleView.java  
Handler ExceptionHandler.java  
Mapping ExceptionMapping.java  
Exception ExceptionHandler.java  
Wrapper DBWrapper.java  
Batch CustBatch.java  
Client SampleClient.java Rest Client Interface Class
Invoke SampleInvoke.java Rest Invoke Class

04. Interface Class

  • - Interface는 java class명과 동일한 방법으로 부여한다.

05. Method

  • - java method 명명규칙에서 사용하는 단어는 [용어사전]을 참조한다.

  • - 클래스 명명은 필수로 하되 Method 명명규칙은 용어사전을 최대한 준용하도록 한다.

  • - Static Methods 도 다른 method와 동일한 규칙을 따른다.

Method 예, 규칙
규칙
selectItem()
insertItem()
updateItem()
deleteItem()
  • - 첫 단어는 소문자로 시작하는 동사를 사용. 이후 각 단어는 대문자로 시작

  • - 숫자 및 특수문자는 사용하지 않음

selectItem()
selectNewItem()
selectItemById()
  • - 단어 조합 시 다음과 같은 형태로 작성을 추천

  • • 동사 + 명사

  • • 동사 + 형용사 + 명사

  • • 동사 + 명사 + 전체사 + 명사

getName()
getAge()
  • - getter method는 ‘get + attribute name’의 형태

  • - ‘attribute name’의 첫 문자는 대문자

setName(String name)
setAge(int age)
  • - setter method는 ‘set + attribute name’의 형태

  • - ‘attribute name’의 첫 문자는 대문자

작업유형에 따른 명명 규칙
작업유형, 명명규칙, 사용 예
작업유형 명명규칙 사용 예
단건조회   select + 단어 selectItem()
다건조회 전체조회 select + 단어복수형 selectItems()
특정조건 select + 단어복수형 + By + 조건 selectItemsByCategory()
불특정조건 select + 단어복수형 + ByCondition selectItemsByCondition()
Paging 처리 맨 뒤에 Paging을 postfix로 추가 selectItemsPaging()
등록 단건등록 insert + 단어 insertItem()
다건등록 insert + 단어복수형 insertItems()
수정 단건수정 update + 단어 updateItem()
다건수정 update + 단어복수형 updateItems()
삭제 단건삭제 delete + 단어 deleteItem()
다건삭제 delete + 단어복수형 deleteItems()
다건 다중처리
(등록/수정/삭제 복합)
multi + 단어복수형 multiItems()

06. Arrays

Array 선언
Array Postfix, 규칙
Postfix 규칙
int[] intArray = { 1, 2, 3, 4, 5 };
int intArray[] = { 1, 2, 3, 4, 5 };
  • - type뒤에 대괄호 ‘[]’사용을 표준으로 한다.

  • - 변수명 뒤에 대괄호 사용은 금지

07. Library

  • - library 명명규칙은 Maven의 규칙을 따라 부여하며, [ArtifactID]-[version].확장자를 사용한다.

  • - 개발이 수행될 때는 SNOPSHOT버전을 이용하고, 향후 통합테스트가 완료되어 정식 버전이 배포가 될 경우 1.0부터 시작한다.

Library 예, 규칙
규칙
vinylc-core-1.0.0.jar [ArtifactID]-[version].확장자를 사용

JavaScript

01. File

파일 명명법
파일 명명법 예, 규칙
규칙
jquery-1.6.2.js
jquery-ui-1.6.2.js
  • - 영문축약 소문자 기준

  • - 단어 연결은 -로 표시

jquery-1.6.2.js
  • - 버전 정보를 파일명 뒤에 표시[lib 명]-[버전].js

jquery-1.6.2.min.js
  • - 압축 버전은 버전명 뒤에 min을 표시

  • - [lib명]-[버전].min.js

02. Variable

변수 명명법
  • - ‘임시 변수 (Temporary Variable)’와 ‘상수(Constant)’는 예외

변수 명명법 예, 규칙
규칙
DB 컬럼명 : FIRST_NAME
변수명 : first_name
  • - DB 테이블과 매핑되는 변수일 경우 컬럼명을 사용

  • - 언더스코어 표기법

변수명 : today
의미 : Today 변수
  • - 의미 있는 변수명은 용어 사전에 정의된 약어를 사용이 원칙

firstName
fileLength
memberName
  • - 변수 표기는 기본으로 컬럼명을 따른다. 그 외 변수는 용어 사전을 참조하여 작성

  • - 첫 단어는 소문자로 시작하는 동사/형용사 등을 사용, 이후 각 단어는 대문자로 시작(카멜 표기법)

  • - 변수명의 길이는 30자 이내

memberId
firstClass
numberOfClass
  • - 단어 조합 시 다음과 같은 형태로 작성

  • • 명사 + 명사

  • • 형용사 + 명사

  • • 명사 + 형용상 + 명사

first-name
  • - "-"는 사용을 제한

for (int i = 0; i > 10; i++) {
}
  • - Loop counter는 i, j, k등을 사용

03. Constant

상수 명명법
상수 명명법 예, 규칙
규칙
var MIX_VALUE = 0;
var MAX_VALUE = 0;
- 상수로 정의된 변수명은 단어간에 Underscore(_)로 분리되는 대문자로 표기

04. Method

  • - javascript function 명명규칙에서 사용하는 단어는 [용어사전]을 참조한다.

  • - 클래스 명명은 필수로 하되 function 명명규칙은 용어사전을 최대한 준용하도록 한다.

Method 예, 규칙
규칙
selectItem()
insertItem()
updateItem()
deleteItem()
  • - 첫 단어는 소문자로 시작하는 동사를 사용. 이후 각 단어는 대문자로 시작

  • - 숫자 및 특수문자는 사용하지 않음

selectItem()
selectNewItem()
selectItemById()
  • - 단어 조합 시 다음과 같은 형태로 작성을 추천

  • • 동사 + 명사

  • • 동사 + 형용사 + 명사

  • • 동사 + 명사 + 전치사 + 명사

getName()
getAge()
  • - getter method는 ‘get + attribute name’의 형태

  • - ‘attribute name’의 첫 문자는 대문자

setName(String name)
setAge(int age)
  • - setter method는 ‘set + attribute name’의 형태

  • - ‘attribute name’의 첫 문자는 대문자

JSP/HTML

01. 공통

  • - HTML에서 HTML Tag 선언은 소문자로, Tag 속성은 소문자로 작성

  • - <body> Tag 하위의 모든 HTML Tag들은 각 상위 Tag에 대한 Depth에 따라 4 칸의 Indentation을 기본으로 함

  • - element의 값을 지정할 경우는 값을 쌍따옴표 (“”)로 감싼다.

  • - 16진수 값을 표현할 때는 앞에 “#”을 붙이고 알파벳은 대문자로 표기

02. JSP 명명규칙

  • - jsp 파일의 명명규칙은 [용어사전][postfix].jsp로 한다.

  • - 용어사전의 단어를 사용하는 경우 첫 글자만 소문자로 한다.

  • - jsp파일을 WEB-INF하위에 위치한다. 이유는 보안상 브라우저로 부터의 파일접근을 막기 위함

  • - 용어사전을 사용할 경우에는 Postfix를 제외하고는 가능한 Full Name을 활용하도록 한다.

  • - 용어사전의 Postfix명명규칙은 다음과 같다.

명명규칙 Postfix, 예, 규칙
Postfix 규칙
Main bardMain.jsp 메인
List boardList.jsp 목록
View bardView.jsp 상세
Regist boardRegist.jsp 등록
Modify boardModify.jsp 수정
Form boardForm.jsp 등록 + 수정
Delete boardDelete.jsp 삭제
Proc boardProc.jsp 처리
Search boardSearch.jsp 조회
Popup boardListPopup.jsp 팝업 (기능 + PostFix)
Ajax boardProcAjax.jsp AJAX (기능 + Ajax)

03. JSP 내의 From 명명규칙

  • - jsp내의 form명명규칙은 기본으로 mainForm을 사용한다.

  • - mainForm, hiddenForm, downloadForm 외의 예외 사항에 대해서는 공통팀에 문의 하여 처리 한다.

  • - form태그를 남용하지 않는다.

04. HTML 명명규칙

  • - html은 작성은 가능한 지양하며, ProtoType 작성의 경우는 제외한다.

  • - html의 논리적 위치는 [web-root]/html/로 한다.

  • - html파일의 명명규칙은 JSP명명규칙과 동일하게 한다.

  • - pop-up은 스크롤이 없이 주소가 나타나지 않도록 하는 것이 원칙이나, 보안 설정에 의해서 주소가 나타나더라도 상하 scroll이 나타나지 않도록 한다.

SQL

SQL MAP
  • - SQL MAP은 myBATIS에서 사용하는 SQL문을 담고 있다.

  • - SQL MAP 파일위치는 resources/sqlmap/ 에 위치한다

공통파일
  • - sqlmap파일의 위치를 담고 있는 메타정보를 관리 한다.

공통파일 명명규칙, 위치, 사용 예
명명규칙 위치 사용 예
sql-map-config.xml resources/sqlmap/ sql-map-config-mysql.xml
sql-map-config-mssql.xml

01. SQL Map 파일

  • - [프로젝트 명 이후 sub package 구조]/[DAO클래스명].xml 로 한다.

  • - 업무프로세스 sqlmap파일 : 각 업무프로세스의 sql정보를 관리한다.

SQL Map 파일 명명규칙, 위치, 사용 예
명명규칙 위치 사용 예
[sub package명]/[DAO class 명].xml resources/sqlmap/[sid명]/[sub package명] SelectDAO.xml

02. SQL ID

  • - SQL ID 명명규칙은 [DAO클래스명:첫 문자 소문자].method’의 형태를 사용한다.

  • - DAO의 method는 하나의 SQL만을 수행한다.

<select id="selectItem" parameterClass="hMap" resultClass="hMap">
    <![CDATA[
        SELECT /* ProgramID = selectDAO.selectItem */
            *
        FROM
            item
    ]]>
</select>
  • - sqlMap namespace명명규칙은 [프로젝트 명 이후 sub package 구조]_[DAO클래스명]으로 한다.

  • - sub package 구조 표현시 "_" 를 사용한다.

<sqlMap namespace="test.biz.SelectDAO">

Database

  • - 테이블명 및 컬럼명은 [용어사전] 기준으로 한다.

  • - 용어별로 명명 규칙에 맞게 언더바(_)로 표현하되 용어기준 3개까지만 정의한다.(언더바 2개까지 허용)

01. 제약조건 명명규칙

아래 명명 규칙은 제약조건 및 인덱스, 시퀀스, 프로시저, 함수의 명명규칙이다.

Primaray
 : "PK_" + 테이블명
Foreign Key
 : "FK" + 일련번호 + "_" + 테이블명
INDEX
 : "IDX" + 일련번호 + "_" + 테이블명
Sequnence
 : 컬럼명 + “_” + “SEQ”
Procedure
 : PRC+”_”+용어사전참조
Function
 : FUN+”_”+용어사전참조

02. 명명규칙 샘플

Primaray
 : "PK_" + 테이블명
 : PK_MDUL_TYPE
Foreign Key
 : "FK" + 일련번호 + "_" + 테이블명
 : FK1_MDUL_TYPE
INDEX
 : "IDX" + 일련번호 + "_" + 테이블명
 : IDX1_MDUL_TYPE
Sequnence
 : 컬럼명 + “_” + “SEQ”
 : MDUL_SN_SEQ
Procedure
 : PRC+”_”+용어사전참조
 : PRC_MDUL_NM
Function
 : FUN+”_”+용어사전참조
 : FUN_MD

03. 컬럼 명명규칙

  • - 물리명은 영문 대문자를 이용함. 논리명을 사용자가 알 수 있는 정도에서 명사 및 명사형동사를 사용함

  • - Column에 대한 자리수는 총 12자리로 하며, 제한은 없음. 단, 사용하는 Database의 특성에 따라 제한될 수 있음

  • - Word와 Word 사이에는 ‘_’로 구분함

  • - 한 Word는 8자리를 넘을 수 없음

  • - 모든 Column은 Dictionary List에 등록된 약어사전 및 자료사전을 기초로 작성함

  • - Dictionary List에 등록되지 않은 약어는 책임자의 동의 하에 등록함

  • - Column Name은 약어의 조합으로 구성

  • - 컬럼명에 컬럼을 대표하는 접미사를 사용하여 컬럼명의 성격을 나타냄

04. 컬럼 표기방식

<의미있는 컬럼명> 혹은 <의미있는 컬럼명> + ‘_’ + 접미사 종종 자주 사용하는 접미사는 다음과 같다.

접미사, 내용, 설명
접미사 내용 사용 예
_CD CODE 주로 코드 테이블의 코드, 각종 코드에 사용된다. 숫자나 문자로 이루어진 코드에 해당되며, 숫자나 문자의 각 부분이 의미가 있는 경우에 코드를 사용한다.대부분 PK에 해당한다.
예) 대분류 코드 CTGRY_CD, 시도코드 SIDO_CD, 사용자 그룹 코드 USER_GROUP_CD 등
_NM NAME 코드에 대한 명칭에 주로 사용된다. 논리명이 이름,명칭인 경우에 해당된다.
예) 사용자이름 USER_NM, 자원명 RES_NM,
중분류 코드명 DVSN_NM, 메뉴명 MENU_NM
_NO NUMBER 숫자로만 이루어진 경우, 주로 논리명이 번호인 경우에 사용.
예) 주민등록번호 JUMIN_NO, 조문번호 JO_NO
_SN SERIAL NUMBER 숫자로 자동증가로 이루어진 경우, 자동 증가 컬럼에만 사용
예) 게시물번호 BOARD_NO
_SQ SEQUENCE 오라클의 Sequence, MSSQL의 Identity의 경우에 사용한다. 숫자 일련번호로 PK를 설정할 경우 SQ를 사용한다. MSSQL의 Identity의 경우 주로 _ID를 사용하는경우가 많은데, 사용자 아이디 – USER_ID의 ID와 의미가 틀려 SQ를 사용한다.
예) 작업번호 WORK_SQ, 이력번호 HISTORY_SQ
_ID ID 주로 사용자 아이디의 경우에 사용한다.
예) 사용자아이디 USER_ID, 등록자아이디 REG_ID
_DT DATE 날짜의 경우 사용한다. DT는 날짜 타입이 DATE형인경우에만 사용한다. 보통 날짜의 경우 CHAR(8)형으로20050718식으로 저장을 많이 한다. 이런 경우에는_YMD를 사용한다.
예) 삭제일자 DEL_DT, 변경일자 CHG_DT
_YMD YYYYMMDD 날짜의 경우 사용한다. 날짜 타입이 CHAR 인경우 사용한다. 년월일인 경우 _YMD를 사용하고, 년월형식으로 CHAR(6)로 저장될 경우 _YM을 사용한다. 년도,월, 일자 인경우에는 YEAR, MONTH, DAY등의 컬럼명을 사용한다.
_GB 구분 구분값을 나타낼 때 사용한다. CD는 주로 코드테이블을 별도로 사용할 때 적당하고, 테이블 없이 코드상에서 구별할 때 사용한다. 가령 사용자구분 필드가있을 때 일반사용자, 내부사용자가 있다면 별도의 사용자 그룹테이블로 분리하여 사용할 경우 GROUP_CD가필드명이 되지만, 코드상에서 일반(G), 내부(I)로 사용하기로 결정했다면 GROUP_GB 필드명을 사용하면 된다.
예) 통계구분 STAT_GB
_ST STATE 상태값이다. 주로 CHAR(1) 형식을 사용한다.
예) 사용자 상태 USER_ST
_FL FLAG 플레그값이다. 종종 삭제하지 않는 테이블에 삭제플레그를 많이 사용된다. 값은 0/1 이나 Y/N를 많이 사용한다.
예) 삭제여부 DEL_FL, 요청여부 REQ_FL
_ORD ORDER 순서를 나타낼 때 사용한다.
예) 컬럼순서 COLUMN_ORD
_CNT COUNT 예) 조회수 VIEW_CNT
_AMT AMOUNT 예) 재고량 STOCK_AMT
_SUM SUM 예) 분기합계 QTR_SUM, 년도합계 YEAR_SUM