본문 바로가기

Web Develop Tech/Documents

웹 개발자가 알아야 할 Naming Rule(스크랩)

웹 개발자를 위한 Naming Rule 을 정리한 것이다.

개발자들 사이의 커뮤니케이션과 관리를 위해서 가능한 규칙을 따르는 것이 좋다고 생각한다. 이 규칙들은 정답은 아니지만, 컨설팅을 수행하면서 어느 정도의 시행착오를 거쳐서 정리한 내용이고 웹 개발자들에게 참고가 되기를 바란다.

이 규칙을 각자의 개발 환경에 맞게 보완해서 사용한다면 도움이 될 거라 생각된다

분류

대상

비고

Presentation Services(JSP)

JSP File Name, HTML File Name, Image File Name, Session Level Variable Name(Pascal Casing Naming Conversion or Camel Casing Naming Conversion), Script Variable Name, Tag Name, Cookie Name

Business Services

(Component)

Project File Name(DLL Name), Class Name, Interface(Method, Property) Name

Data Services

(Database)

Table Name, Field Name, Stored Procedure Name, View Name, Trigger Name

모든 이름은 Hungarian 표기법과 Pascal Casing Naming Convention을 따르는 것을 원칙으로 한다.

유 형

설 명

예 시

적 용 대 상

Pascal Case

모든 단어의 첫 번째 글자를 대문자로 쓴다.

ProductCatalog

클래스, 열거형(Enum), 열거값

이벤트, 읽기 전용 정적 필드

인터페이스, 메소드

네임스페이스, 속성 등

Camel Case

맨 첫 번째 글자는 소문자로,

나머지 각 단어의 첫 번째 글자를 대문자로 쓴다.

productCatalog

매개변수(parameter)

인스턴스 필드, 클래스 변수

Upper Case

모든 글자를 대문자로 쓴다.

System.IO

2글자 정도의 단어, 상수

Hungarian Case

Pascal Case 유형 앞에 변수의 타입 약어를 표시한다.

dtDocData

컨트롤 변수

데이터 관련 변수

Presentation Services Naming Rule

1. JSP File Name

JSP 파일 명은 관리를 쉽게 할 수 있도록 업무에 관련된 이름을 부여한다.

[명명 규칙] 시스템단축명_기능.jsp

예) 웹 메일 시스템의 자유 게시판의 JSP 파일 명은 wm_FreeBoard.jsp로 명명한다. 시스템 단축 명은

프로젝트 관리자가 부여한다.

2. HTML File Name

HTML 파일 명은 관리를 쉽게 할 수 있도록 업무에 관련된 이름을 부여하며, HTML 파일의 확장자는 html로 명명한다.

[명명 규칙] 시스템단축명_기능.html

예) 웹 메일 시스템의 자유 게시판의 HTML 파일 명은 wm_FreeBoard.html으로 명명한다.

시스템 단축 명은 프로젝트 관리자가 부여한다.

3. Image File Name

Image 파일 명은 다음과 같은 이름 부여 규칙을 사용한다.

[명명 규칙] 업무단축명_위치_기능.gif

업무 단축명은 가능하다면 JSP 파일의 단축 명을 사용한다.

위치 : 상(t), 중(m), 하(b), 좌(l), 중(m), 우(r)

예1) 웹 메일 시스템의 자유 게시판의 우측상단에 있는 목록보기 이미지는 fb_tr_list.gif로 명명한다.

여기서 fb는 FreeBoard의 단축 명이다.

예2) 메인 페이지의 좌측 중앙에 있는 로그온 이미지는 main_ml_LogOn.gif로 명명한다. 웹 응용 프로그램 전반에 공통적으로 사용되는 이미지는 명명 규칙에 “위치”를 포함하지 않으며, “업무단축명”으로 “cn_”을 사용한다.

예3) 메인 화면에 사용하는 읽기에 대한 공통 이미지는 cn_read.gif로 명명한다.

4. Application Level Variable Name

Application Level의 변수는 다음과 같은 이름 부여 규칙을 사용한다.

[명명 규칙] ap_기능

예) 웹 사이트 방문자 수를 나타내는 Application Level 변수는 ap_VisitCount로 명명한다.

5. Session Level Variable Name

Session Level의 변수는 다음과 같은 이름 부여 규칙을 사용한다.

명명 규칙] se_기능

예) 사용자 계정을 나타내는 Session Level 변수는 se_UserID로 명명한다.

6. Script Variable Name

스크립트 변수 명은 변수의 Scope에 따라 접두어(“g_” 전역, “l_” 로컬, “p_” 매개변수)를 붙인다.

단, 로컬 변수인 경우에는 Scope를 나타내는 접두어는 생략 가능하다.

[명명 규칙] 접두어_기능

예) 사용자가 선택한 색상을 저장하는 로컬 변수는 “l_Color” 이다.

스크립트에서는 모든 데이터 타입이 Variant이기 때문에, 변수 명에 데이터 형을 표기하지 않는다.

7. Tag Name

태그 명은 태그의 종류를 나타내는 접두어와 기능으로 이름을 부여한다.

[명명 규칙] 접두어_기능

태그는 종류별로 다음과 같은 접두어를 붙인다.

접두어 태그

frm 폼

btn_ 버튼

txt_ 텍스트 박스

mtx_ 멀티라인 텍스트 박스

lbl_ 라벨

chk_ 체크박스

opt_ 옵션버튼

이미지 파일은 확장자로 알 수 있기 때문에 태그의 접두어를 사용하지 않는다. 여기서는 주로 많이 사용하는 태그들의 이름 부여 규칙만을 정의하며, 그 외의 태그들은 개발자가 임의로 이름을 부여해서 사용한다.예) 사용자 이름을 입력하는 텍스트 박스의 명은 txt_UserName으로 명명한다.

8. Cookie Name

Cookie 명은 관리를 쉽게 할 수 있도록 업무에 관련된 이름을 부여한다.

[명명 규칙] 시스템단축명_기능

예) 웹 메일 시스템의 사용자 이름을 저장하는 쿠키의 명은 wm_UserName으로 명명한다.

서브 쿠키 명은 개발자가 임의로 부여한다.


Business Services Naming Rule

1. Visual Basic Project File Name (DLL File Name)

DLL 파일 명은 관리를 쉽게 할 수 있도록 업무에 관련된 이름을 부여한다.

[명명 규칙] 시스템단축명_기능.dll

예) 웹 메일 시스템의 자유 게시판을 구현하는 DLL의 파일 명은 wm_FreeBoard.dll로 명명한다. 시스템 단축 명은 프로젝트 관리자가 부여한다.

2. Class Name

비주얼 베이직 프로젝트에 포함된 클래스 파일의 이름은 기본적으로 Query와 Modify로 분류하고, 별도의 비즈니스 로직을 포함하는 클래스는 프로젝트 관리자와 협의 후 부여한다.Query 클래스는 조회용 메서드를 포함하는 클래스의 명칭이며, Modify 클래스는 삽입, 수정, 삭제와 같은 트랜잭션이 발생하는 메서드를 포함하는 클래스의 명칭이다.

[명명 규칙] Query, Modify, 업무명

예) 웹 메일 시스템의 자유 게시판의 글을 읽는 클래스 파일의 이름은 Query로 명명하며,JSP에서 사용하기 위한 이 클래스의 ProgID는 wm_FreeBoard.Query이다. 일반적으로 Query와 Modify 이외의 클래스 명을 요하는 경우는 거의 발생하지 않는다.

구 분

명명 표준

예 시

Base Class

[공통 기능 명] + Base

RuleBase, DacBase

Business Façade

[Use Case Group 명] + System/Façade/Service

ProductSystem, OderService

Business Rule

[Use Case Group 명]+ Biz

MemberBiz

Data Access Component

[Use Case Group 명] + Dac

[테이블 명] + Dac

MemberDac

Exception Class

[사용자 정의 예외 명] + Exception

BusinessRuleException

3. Interface Name (Method, Property)

인터페이스 명은 메서드에 대해서만 기술한다. MS의 COM+에 등록되는 컴포넌트는 Stateless한 컴포넌트이어야 하기 때문에, 일반적인 경우에는 Property를 사용하지 않는다.개발팀 별로 메서드에 대한 공통 인터페이스를 정의해야 하며, 정의된 공통 인터페이스를 기준으로 메서드의 이름을 부여해야 한다.

다음은 공통 인터페이스의 몇 가지를 정리한 것이다.

메서드 명

설명

Insert

하나의 레코드를 삽입하는 기능

Update

하나의 레코드를 수정하는 기능

Delete

하나의 레코드를 삭제하는 기능

Save

여러 개의 레코드를 삽입, 수정, 삭제하는 기능

SelectByWhere

하나의 조건으로 데이터를 조회하는 기능

SelectByName

이름으로 데이터를 조회하는 기능

SelectByCode

코드로 데이터를 조회하는 기능

발생 가능한 모든 메서드를 Brainstorming을 통해서 추출한 후, 협의를 통해서 공통 인터페이스를 정의해야 한다.

Data Services Naming Rule

데이터베이스 명은 별로의 이름 부여 규칙을 정하지 않고 프로젝트 관리자가 시스템에 적합하게 부여한다.

1. Table Name

테이블 명은 관리를 쉽게 할 수 있도록 업무에 관련된 이름을 부여하며, 레코드들의 집합이기 때문에 복수형으로 부여한다.

[명명 규칙] 기능의 복수형

예) 웹 메일 시스템의 자유 게시판의 테이블 명은 FreeBoards로 명명한다.

2. Field Name

필드 명은 기능과 관련된 의미로 부여하며, 업무에 관련된 의미는 테이블 명에서 이미 표기하였기 때문에 업무에 관련된 의미는 부여하지 않는다.

[명명 규칙] 기능

예) 웹 메일 시스템의 자유 게시판의 날짜 필드 명은 Date로 명명한다.

FreeBoardDate로 표기하지 않도록 주의한다.

3. Stored Procedure Name

저장 프로시저 명은 기준이 되는 테이블 명과 기능과 관련된 의미로 부여한다.

시스템 저장 프로시저와 구별하기 위해서 접두어 “up_”를 붙인다.

[명명 규칙] up_테이블명_기능

예) 웹 메일 시스템의 자유 게시판의 쓰기 기능의 저장 프로시저 명은 up_FreeBoards_Insert로 명명한다.

4. View Name

뷰 명은 기준이 되는 테이블 명을 단수형으로 부여한다. 뷰를 나타내기 위해서 접두어 “view_”를 붙인다.

[명명 규칙] view_테이블명의단수형

예) 웹 메일 시스템의 자유 게시판의 데이터를 일자를 조건으로 조회하기 위해서 사용될 뷰의 명은 view_FreeBoard로 명명한다.

5. Trigger Name

트리거 명은 기준이 되는 테이블 명과 기능으로 부여한다.

[명명 규칙] 테이블명_기능

예) 웹 메일 시스템의 자유 게시판의 데이터를 삭제할 경우에 발생할 트리거의 명은 FreeBoards_Delete로 명명한다.

출처 : http://hopangbear.tistory.com/152