온라인 어플리케이션 명명규칙

1. 어플리케이션

어플리케이션 단위는 관리 주체가 다르고, 어플리케이션 간 기능 호출을 최소화 할 수 있는 단위로 구분 한다. 어플리케이션은 Studio의 'BX 클라우드 프로젝트' 메뉴를 통해 생성한다.

어플리케이션 명명
구분 설명

구성

L1코드 + '-' + L2코드(영문명) + '-' + online

적용사례

bxcm-sample-online

기본원칙

1. 어플리케이션 이름 작성은 다음과 같은 표기법을 따른다.

   L1코드,L2코드(영문명)의 소문자로 표기

   단어와 단어 사이에 '-' 로 구분

2. 어플리케이션 이름은 중복되어서는 안되므로 전체 업무를 통틀어 유일한 이름을 갖도록 작성한다.

2. Controller

Controller는 Studio 의 'Controller 클래스' 메뉴를 통해 생성 되며 Controller의 클래스 이름과 Controller 이름은 다음과 같이 작성한다.

Service 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드 + . + online + . + controller

Package - 적용사례

bxcm.sample.online.controller

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 controller를 쓴다.

클래스 - 구성

L2코드(영문명) + (표준단어)* 조합 + Controller

클래스 - 적용사례

SmpEmployeeController, SmpDeptController

클래스 - 기본원칙

  • L2코드(영문명), 표준단어 조합, 클래스 구분의 조합으로 구성한다.

  • L2코드(영문명)는 첫 글자는 대문자, 나머지는 소문자로 표기한다.

  • Controller는 @RestController 어노테이션을 포함한다.

  • Controller 이름은 어플리케이션 내에서 중복이 되면 안되므로 유일한 이름을 갖도록 한다.

  • RequestMapping의 이름은 클래스명의 표준단어 조합의 소문자로 구성한다.

  • 파일의 확장자는 java를 사용한다.

클래스 - 부가정보

  • 부가정보는 @BxmCategory 어노테이션을 사용하여 기입한다.

  • @BxmCategory 는 필수 항목으로 작성한다.

  • 부가정보는 다음과 같다.

    1. 논리명(logicalName) : Controller의 논리명을 입력한다.

클래스 - 작성 예

@RestController
@RequestMapping("/employee")
@BxmCategory(logicalName = "직원관리컨트롤러")
public class SmpEmployeeController {    /* 클래스 이름 */
    ... ...
}

URL - 구성

역할에 따른 HTTP메소드 + (메소드 식별 단어)*

URL - 적용사례

조회 : GetMapping("/get") 등록 : PutMapping("/add") 수정 : PostMapping("/modify") 삭제 : DeleteMapping("/remove")

메소드 - 구성

메소드 prefix + (표준단어)*

메소드 - 적용사례

getEmployee - 샘플 직원정보를 얻는다.

addEmployee - 샘플 직원정보를 등록한다.

메소드 - 기본원칙

  • 메소드 Prefix 는 메소드 Prefix 장을 참고하여 작성한다. 메소드 동작에 해당하는 Prefix를 선택한다.

  • 표준단어는 자연어의 조합을 사용한다.

  • 하나의 Controller의 메소드에는 너무 많은 코드를 작성하지 않는다.

메소드 - 부가정보

  • 부가정보는 @BxmCategory 어노테이션을 사용하여 기입한다.

  • @BxmCategory 는 필수 항목으로 작성한다.

  • 부가정보는 다음과 같다.

    1. 논리명(logicalName): Service 메소드의 논리명을 입력한다.

메소드 - 작성 예

@PostMapping("/add")
@BxmCategory(logicalName = "직원정보등록")
public SmpEmployeeController01OutDto addEmployee(@RequestBody SmpEmployeeController01InDto input) {
    ... ...
}
@GetMapping("/get/{empNo}")
@BxmCategory(logicalName = "직원정보등록")
public SmpEmployeeController01OutDto getEmployee(@PathVariable int empNo) {
    ... ...
}

3. Service

Service는 Studio 의 'Service 클래스' 메뉴를 통해 생성 되며 Service의 클래스 이름과 Service 이름은 다음과 같이 작성한다.

Service 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드 + . + online 또는 batch + . + service

Package - 적용사례

bxcm.sample.online.service

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 service를 쓴다.

클래스 - 구성

L2코드(영문명) + (표준단어)* 조합 + Service

클래스 - 적용사례

SmpEmployeeService, SmpDeptService

클래스 - 기본원칙

  • L2코드(영문명), 표준단어 조합, 클래스 구분의 조합으로 구성한다.

  • Service의 메소드가 많아 분리가 필요한 경우 일련번호 2자리를 지정한다.

  • L2코드(영문명)는 첫 글자는 대문자, 나머지는 소문자로 표기한다.

  • Service는 @Service 어노테이션을 포함한다.

  • 파일의 확장자는 java를 사용한다.

클래스 - 부가정보

  • 부가정보는 @BxmCategory 어노테이션을 사용하여 기입한다.

  • @BxmCategory 는 필수 항목으로 작성한다.

  • 부가정보는 다음과 같다.

    1. 논리명(logicalName) : Service의 논리명을 입력한다.

클래스 - 작성 예

@Service
@BxmCategory(logicalName = "고객관리서비스")
public class SmpEmployeeService {   /* 클래스 이름 */
    ... ...
}

메소드 - 구성

메소드 prefix + (표준단어)*

메소드 - 적용사례

getEmployee - 샘플 직원정보를 얻는다.

addEmployee - 샘플 직원정보를 추가한다.

메소드 - 기본원칙

  • 메소드 Prefix 는 메소드 Prefix 장을 참고하여 작성한다. 메소드 동작에 해당하는 Prefix를 선택한다.

  • 표준단어는 자연어의 조합을 사용한다.

  • 하나의 Service에 Service 메소드는 10개 이하로 작성한다.

  • 하나의 Service 메소드에 너무 많은 코드를 작성하지 않는다.

메소드 - 부가정보

  • 부가정보는 @BxmCategory 어노테이션을 사용하여 기입한다.

  • @BxmCategory 는 필수 항목으로 작성한다.

  • 부가정보는 다음과 같다.

    1. 논리명(logicalName): Service 메소드의 논리명을 입력한다.

메소드 - 작성 예

@BxmCategory(logicalName="고객정보조회")
public EmployeeIO getEmployee(EmployeeIO input) {
    ... ...
}

4. Component

프레임워크에서 BC(비즈니스 컴포넌트)는 Component으로 사용되며 @Component 어노테이션으로 정의 한다. Component는 Studio 의 '컴포넌트' 메뉴를 통해 생성되며 Component의 이름은 다음과 같이 작성한다.

Component 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드(영문명) + . + online 또는 batch + . + component

Package - 적용사례

bxcm.sample.online.component

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 component를 쓴다.

클래스 - 구성

L3코드(영문명) + (표준단어)* 조합 + (일련번호 2자리) + Component

클래스 - 적용사례

SmpEmployeeComponent, SmpDeptComponent

클래스 - 기본원칙

  • L3코드 3자리, 표준단어 조합, 클래스 구분의 조합으로 구성한다.

  • Component의 메소드가 많아 분리가 필요한 경우 일련번호 2자리를 지정한다.

  • L3코드는 첫 글자는 대문자, 나머지는 소문자로 표기한다.

  • Component은 @Component 어노테이션을 포함한다.

  • 파일의 확장자는 java를 사용한다.

클래스 - 부가정보

  • 부가정보는 @BxmCategory 어노테이션을 사용하여 기입한다.

  • @BxmCategory 는 필수 항목으로 작성한다.

  • 부가정보는 다음과 같다.

    1. 논리명(logicalName) : Component의 논리명을 입력한다.

클래스 - 작성 예

@Component
@BxmCategory(logicalName = "샘플직원정보관리")
public class SmpEmployeeComponent {
    ... ...
}

메소드 - 구성

메소드 prefix + (표준단어)*

메소드 - 적용사례

getEmployee - 샘플 직원정보를 얻는다.

addEmployee - 샘플 직원정보를 추가한다.

메소드 - 기본원칙

  • 메소드 Prefix 는 메소드 Prefix 장을 참고하여 작성한다. 메소드 동작에 해당하는 Prefix를 선택한다.

  • 표준단어는 자연어의 조합을 사용한다.

  • 하나의 Component에 Component 메소드는 10개 이하로 작성한다.

  • 하나의 Component 메소드에 너무 많은 코드를 작성하지 않는다.

메소드 - 부가정보

  • 부가정보는 @BxmCategory 어노테이션을 사용하여 기입한다.

  • @BxmCategory 는 필수 항목으로 작성한다.

  • 부가정보는 다음과 같다.

    1. 논리명(logicalName): 메소드의 논리명을 입력한다.

메소드 - 작성 예

@BxmCategory(logicalName = "단건 등록")
public int addEmpEmployee(DSmpEmpTst000Dto input) {
    ... ...
}

5. DBIO

DBIO는 데이터베이스에 직접 접근하는 객체로 Bean을 통해서만 호출이 가능하다. DBIO는 Studio 의 'DBIO' 메뉴를 통해 생성되며 DBIO의 이름은 다음과 같이 작성한다.

DBIO 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드(영문명) + . + online 또는 batch + . + dbio

Package - 적용사례

bxcm.sample.online.dbio

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 dbio를 쓴다.

클래스 - 구성

1. PK CRUD : D + 테이블 이름 ( 본 가이드에선 SMP_EMP_TST 테이블 사용 ) + 000

2. 그외 : D + 테이블 이름 + [001-999]

클래스 - 적용사례

1. PK CRUD : DSmpEmpTst000

2. 그외 : DSmpEmpTst002

클래스 - 기본원칙

  • DBIO 이름은 사용하는 쿼리에서 DBIO를 뜻하는 기호 'D' 1자리, 주로 사용하는 테이블의 테이블명과 일련번호 3자리로 구성된다.

  • 테이블 이름은 카멜 표기법으로 한다.

  • 일련번호000은 PK로 CRUD를 하는 DBIO를 위한 번호이므로 개발자가 직접 작성/수정 하지 않는다.(Default DBIO 기능으로 자동 생성).

  • 개발자는 일련번호 001부터 시작하는 DBIO를 작성한다.

  • 파일의 확장자는 dbio를 사용한다.

클래스 - 부가정보

- DBIO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다.

클래스 - 작성 예

소스코드를 직접 생성하지 않는다.

SQL ID - 구성

1. DBIO prefix + (일련번호 2자리)

2. DBIO Prefix + (표준단어)* 또는

3. DBIO Prefix + (표준단어)* + (일련번호2자리)

SQL ID - 적용사례

selectOne01

selectOneEmpNm

selectOneEmpNm01

SQL ID - 기본원칙

  • DBIO SQL ID의 이름은 Prefix와 일련번호 2자리로 구성하거나 Prefix와 표준단어 조합, 또는 Prefix와 표준단어 조합에 일련번호 2자리로 구성할 수 있다.

  • 표준단어는 메타시스템에 정의된 표준단어 영문약어의 조합을 사용한다.

  • 일련번호 00은 PK를 사용하는 쿼리를 위한 번호이므로 비워둔다.

  • Prefix는 매핑 되는 SQL의 statement와 일치하게 작성한다.

  • Prefix는 DBIO 메소드 Prefix 항목을 참고한다.

6. Default DBIO

테이블을 기반으로 DBIO와 IO를 자동 생성 해주는 Studio의 편의 기능중 하나로 Default DBIO의 표준은 다음과 같다.

(1) 생성된 DBIO

Default DBIO 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드 + . + online 또는 batch + . + dbio

Package - 적용사례

bxcm.sample.online.dbio

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 dbio를 쓴다.

클래스 - 구성

- D + 테이블 이름 ( 본 가이드에선 SMP_EMP_TST 테이블
사용 ) + 000

클래스 - 적용사례

- PK CRUD : DSmpEmpTst000

클래스 - 기본원칙

  • DBIO 이름은 사용하는 쿼리에서 DBIO를 뜻하는 기호 'D' 1자리, 주로 사용하는 테이블의 테이블명과 일련번호 000으로 구성된다.

  • 테이블 이름은 카멜 표기법으로 한다.

  • 파일의 확장자는 dbio를 사용한다.

클래스 - 부가정보

- DBIO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다.

클래스 - 작성 예

소스코드를 직접 생성하지 않는다.

SQL ID - 구성

1. 메소드 Prefix + _ + PK 이름

2. 메소드 prefix + _ + UK 이름

3. 메소드 Prefix + _ + 인덱스 이름

SQL ID - 적용사례

selectOneLock_SYS_C0011417

insert_SYS_C0011417

SQL ID - 기본원칙

  • DBIO SQL ID의 이름은 Prefix와 테이블의 PK, UK 사용 여부, PK 또는 UK 이름으로 정해진다.

  • 표준단어는 메타시스템에 정의된 표준단어 영문약어의 조합을 사용한다.

  • Prefix는 매핑 되는 SQL의 statement 와 일치하게 작성한다.

  • Prefix는 DBIO 메소드 Prefix 항목을 참고한다.

(2) 생성된 DBIO의 IO

Default DBIO IO 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드(영문명) + . online 또는 batch + . + dbio.dto

Package - 적용사례

bxcm.sample.online.dbio.dto

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 dbio.dto를 쓴다.

클래스 - 구성

- D + 테이블 이름 ( 본 가이드에선 SMP_EMP_TST 테이블 사용 ) + 000 + Dto

클래스 - 적용사례

DSmpEmpTst000Dto

클래스 - 기본원칙

  • 테이블 이름 ( 본 가이드에선 SMP_EMP_TST 테이블 사용 ) + 000에 Dto를 붙인다.

  • 테이블 이름은 카멜 표기법으로 한다.

  • 파일의 확장자는 omm를 사용한다.

클래스 - 부가정보

- IO 자바 소스는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다.

클래스 - 작성 예

소스코드를 직접 생성하지 않는다.

7. IO

IO 이름은 다음의 경우에 따라 구분되어 작성된다. IO는 Controller, Service, Component, DBIO의 IO를 재사용 하도록 표준을 정하여 IO 생성을 최소화 하고, 필요한 경우에만 따로 만들도록 한다.

(1) Controller Input/Output/공통: Controller의 입출력을 위한 IO

(2) Service Input/Output/공통: Service의 입출력을 위한 IO

(3) DBIO Input/Output: DBIO의 입출력을 위한 IO

(4) 인터페이스 Input/Output: EAI/MCI 등의 인터페이스를 위한 IO

(5) Component Input/Output/공통: Component의 입출력을 위한 IO

IO는 'IO' 메뉴를 통해 생성되며 IO의 이름은 다음과 같이 작성한다.

7.1. Controller를 위한 IO 작성

Controller 메소드의 입력은 기본타입, 일반 객체를 자유롭게 사용할 수 있다.

Component IO 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드 + . + online 또는 batch + . + controller.dto

Package - 적용사례

bxcm.sample.online.controller.dto

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 controller.dto를 쓴다.

클래스 - 구성

  • 입력 IO: Controller 이름 + (식별가능한 표준단어)? + 일련번호2자리 + InDto

  • 출력 IO: Controller 이름 + (식별가능한 표준단어)? + 일련번호2자리 + OutDto

  • 입력 반복 IO: Controller 이름 + List + 일련번호2자리 + InDto

  • 출력 반복 IO: Controller 이름 + List + 일련번호2자리 + OutDto

  • 공통 IO : Controller 이름 + Dto

클래스 - 적용사례

  • 입력 IO: SmpEmployeeController01InDto

  • 출력 IO: SmpEmployeeController01OutDto

  • 입력 반복 IO: SmpEmployeeControllerList01InDto

  • 출력 반복 IO: SmpEmployeeControllerList01OutDto

  • 공통 IO: SmpEmployeeControllerDto

클래스 - 기본원칙

  • Controller의 입출력에 사용되는 IO는 Controller이름, 일련번호, 입출력 Suffix 로 이루어진다.

  • 입력에 사용되는 IO는 Suffix 를 'InDto' 으로 사용한다.

  • 출력에 사용되는 IO는 Suffix 를 'OutDto' 으로 사용한다.

  • 반복 IO는 Controller 이름 뒤에 List로 사용한다.

  • 작성된 반복 IO는 Controller 입출력 IO에 포함될 수 있다.

  • 공통 IO는 해당 Controller 전체 도메인에 해당하는 IO로, 해당 Controller 어디에서든 사용 할 수 있다.

  • 파일의 확장자는 omm 을 사용한다.

클래스 - 부가정보

- IO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다.

클래스 - 작성 예

소스코드를 직접 생성하지 않는다.

메소드 - 구성

IO는 자바 소스코드가 자동생성 되므로 개발자가 직접 메소드를 구성할 필요가 없다.

7.2. Service Input/Output을 위한 IO 작성

Service 메소드의 입력은 기본타입, 일반 객체를 자유롭게 사용할 수 있다. Service 메소드의 IO가 필요한 경우에는 Controller, Component의 IO와 DBIO의 IO를 재사용한다. 재사용이 어려운 경우 다음을 참고하여 생성하여 사용한다.

Service IO 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드(영문명) + . + online 또는 batch + . + service.dto

Package - 적용사례

bxcm.sample.online.service.dto

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 service.dto를 쓴다.

클래스 - 구성

  • 입력 IO: Service 이름 + (식별가능한 표준단어) + 일련번호2자리 + InDto

  • 출력 IO: Service 이름 + (식별가능한 표준단어) + 일련번호2자리 + OutDto

  • 입력 반복 IO: Service 이름 + List + 일련번호2자리 + InDto

  • 출력 반복 IO: Service 이름 + List + 일련번호2자리 + OutDto

  • 공통 IO: Service 이름 + Dto

클래스 - 적용사례

  • 입력 IO: SmpEmployeeService01InDto

  • 출력 IO: SmpEmployeeService01OutDto

  • 입력 반복 IO: SmpEmployeeServiceList01InDto

  • 출력 반복 IO: SmpEmployeeServiceList01OutDto

  • 공통 IO: SmpEmployeeServiceDto

클래스 - 기본원칙

  • Service의 입출력에 사용되는 IO는 Service이름, 일련번호, 입출력 Suffix 로 이루어진다.

  • 입력에 사용되는 IO는 Suffix 를 'InDto' 으로 사용한다.

  • 출력에 사용되는 IO는 Suffix 를 'OutDto' 으로 사용한다.

  • 반복 IO는 Service 이름 뒤에 List로 사용한다.

  • 작성된 반복 IO는 Service 입출력 IO에 포함될 수 있다.

  • 공통 IO는 해당 Service 전체 도메인에 해당하는 IO로, 해당 Service 어디에서든 사용 할 수 있다.

  • 파일의 확장자는 omm 을 사용한다.

클래스 - 부가정보

- IO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다.

클래스 - 작성 예

소스코드를 직접 생성하지 않는다.

메소드 - 구성

IO는 자바 소스코드가 자동생성 되므로 개발자가 직접 메소드를 구성할 필요가 없다.

7.3. DBIO를 위한 IO 작성

DBIO IO 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드 + . + online 또는 batch + . + dbio.dto

Package - 적용사례

bxcm.sample.online.dbio.dto

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 dbio.dto를 쓴다.

클래스 - 구성

  • NAME: DBIO 이름

  • PK CRUD: NAME+ Dto

  • 그 외

    1. 입력 IO: NAME + DBIO 메소드 이름 + InDto

    2. 출력 IO: NAME + DBIO 메소드 이름 + OutDto

클래스 - 적용사례

  • PK CRUD : DSmpEmpTst000Dto

  • 그 외

    1. 입력 IO: DSmpEmpTst001selectPage01InDto

    2. 출력 IO: DSmpEmpTst001selectPage01OutDto

클래스 - 기본원칙

  • PK로 CRUD를 하는 일련번호 000의 DBIO IO는 개발자가 직접 작성 하지 않는다.

  • 개발자가 작성하는 일련번호 001 이후의 DBIO 메소드의 입출력에 사용되는 IO는 DBIO이름, DBIO메소드 이름 및 입출력 Suffix 로 이루어진다.

  • 입력에 사용되는 IO는 Suffix 를 'InDto' 으로 사용한다.

  • 출력에 사용되는 IO는 Suffix 를 'OutDto' 으로 사용한다.

  • 파일의 확장자는 omm 을 사용한다.

클래스 - 부가정보

- IO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다.

클래스 - 작성 예

소스코드를 직접 생성하지 않는다.

메소드 - 구성

IO는 자바 소스코드가 자동생성 되므로 개발자가 직접 메소드를 구성할 필요가 없다.

7.4. 인터페이스를 위한 IO 작성

인터페이스 IO 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드 + . + online 또는 batch + . + inf.dto

Package - 적용사례

bxcm.sample.online.inf.dto

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 inf.dto를 쓴다.

클래스 - 구성

  • 입력 IO: 시스템구분 + 일련번호2자리 + 타겟거래코드 + InDto

  • 출력 IO: 시스템구분 + 일련번호2자리 + 타겟거래코드 + OutDto

  • 입력 반복 IO: 입력IO이름 + Sub + 반복 DTO명

  • 출력 반복 IO: 출력IO이름 + Sub + 반복 DTO명

클래스 - 적용사례

  • 입력 IO: EAI01SYER3101A400InDto

  • 출력 IO: EAI01SYER3101A400OutDto

  • 입력 반복 IO: EAI01SYER3101A400InDtoSubGrid00

  • 출력 반복 IO: EAI01SYER3101A400OutDtoSubGrid00

클래스 - 기본원칙

  • 시스템 구분, 일련번호 2자리, 타겟거래코드 및 Suffix로 이루어진다.

  • 입력에 사용되는 IO는 Suffix 를 'InDto' 으로 사용한다.

  • 출력에 사용되는 IO는 Suffix 를 'OutDto' 으로 사용한다.

  • 입/출력 IO의 서브 IO는 Suffix 를 [Sub + 반복 IO명]로 사용한다.

  • 파일의 확장자는 omm 을 사용한다.

클래스 - 부가정보

- IO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다.

클래스 - 작성 예

소스코드를 직접 생성하지 않는다.

메소드 - 구성

IO는 자바 소스코드가 자동생성 되므로 개발자가 직접 메소드를 구성할 필요가 없다.

7.5. Component를 위한 IO 작성

Component 메소드의 입력은 기본타입, 일반 객체를 자유롭게 사용할 수 있다. Component 메소드의 IO가 필요한 경우에는 Controller, Service의 IO와 DBIO의 IO를 재사용한다. 재사용이 어려운 경우 다음을 참고하여 생성하여 사용한다.

Component IO 명명 규칙
구분 설명

Package - 구성

L1코드 + . + L2코드 + . + online 또는 batch + . + component.dto

Package - 적용사례

bxcm.sample.online.component.dto

Package - 기본원칙

  • Package 이름 작성은 모두 소문자로 한다.

  • 분류는 "."로 구분한다.

  • Package의 마지막 세그먼트는 component.dto를 쓴다.

클래스 - 구성

  • 입력 IO: Component 이름 + (식별가능한 표준단어) + 일련번호2자리 + InDto

  • 출력 IO: Component 이름 + (식별가능한 표준단어) + 일련번호2자리 + OutDto

  • 입력 반복 IO: Component 이름 + List + 일련번호2자리 + InDto

  • 출력 반복 IO: Component 이름 + List + 일련번호2자리 + OutDto

  • 공통 IO : Component 이름 + Dto

클래스 - 적용사례

  • 입력 IO: SmpEmployeeComponent01InDto

  • 출력 IO: SmpEmployeeComponent01OutDto

  • 입력 반복 IO: SmpEmployeeComponentList01InDto

  • 출력 반복 IO: SmpEmployeeComponentList01OutDto

  • 공통 IO: SmpEmployeeComponentDto

클래스 - 기본원칙

  • Component의 입출력에 사용되는 IO는 Component이름, 일련번호, 입출력 Suffix 로 이루어진다.

  • 입력에 사용되는 IO는 Suffix 를 'InDto' 으로 사용한다.

  • 출력에 사용되는 IO는 Suffix 를 'OutDto' 으로 사용한다.

  • 반복 IO는 Component 이름 뒤에 List로 사용한다.

  • 작성된 반복 IO는 Component 입출력 IO에 포함될 수 있다.

  • 공통 IO는 해당 Component 전체 도메인에 해당하는 IO로, 해당 Component 어디에서든 사용 할 수 있다.

  • 파일의 확장자는 omm 을 사용한다.

클래스 - 부가정보

- IO는 소스코드 생성 방식으로 생성 되므로 사용자가 부가 정보를 입력하지 않는다.

클래스 - 작성 예

소스코드를 직접 생성하지 않는다.

메소드 - 구성

IO는 자바 소스코드가 자동생성 되므로 개발자가 직접 메소드를 구성할 필요가 없다.

8. Variables / Constants

Controller, Service, Component 클래스의 멤버 변수로 사용되는 변수 명명 규칙에 대해 설명한다. 변수 및 상수 이름의 제한은 다음의 항목에 적용한다.

(1) 멤버 변수 선언

멤버 변수 선언 규칙
구분 설명

맴버변수 선언 - 구성

클래스 이름에서 첫 글자는 소문자

맴버변수 선언 - 적용사례

mSmpEmpInfMng

맴버변수 선언 - 기본원칙

  • 클래스 이름에서 첫 글자는 소문자로 표기하고 나머지는 클래스 이름과 동일하게 사용한다.

  • 클래스 본문에 작성한다(메소드 본문에 선언하지 않는다).

  • Nested Class에 작성하지 않는다.

  • get/set 메소드를 작성하지 않는다.

  • private 로 접근 제한자를 선언 한다.

  • final 및 static 으로 선언하지 않는다.

  • new 로 직접 객체를 생성하지 않는다.

맴버변수 선언 - 작성 예

                                    private SmpEmplyeeComponent smpEmplyeeComponent;

(2) 상수

상수 선언 규칙
구분 설명

상수 - 구성

표준단어 + (_ + 표준단어)*

상수 - 적용사례

  • MAX_NUM

  • 시스템코드_CODE_NAME

상수 - 기본원칙

  • 상수는 static final로 선언 되며 이름은 모두 대문자로 이루어진다(외부 공개가 필요한 상수는 public 키워드를 함께 사용).

  • 각 단어는 _(언더바)로 구분한다.

  • 상수 길이는 50글자 이내로 작성한다.

  • 초기화는 static 블록에서 이루어진다.

상수 - 작성 예

public static final int MAX_NUM;
public static final String 시스템코드_CODE_NAME;
static {
    MAX_NUM= 100;
    CODE_NAME= "BXM";
}

8.1. 테스트 케이스

테스트 케이스 규칙
구분 설명

폴더명 - 구성

bxcm.sample.online.component

파일명 - 구성

Component(Class)이름 +Test

파일명 - 적용사례

SmpEmployeeComponentTest.java

SmpEmployeeControllerTest.java

메소드명 - 구성

test + 메소드명

메소드명 - 적용사례

testGetEmployee()

testGetEmployee01(), testGetEmployee02()

testGetEmployeeFail(), testGetEmployeeSuccess()

파일명, 메소드명 - 기본원칙

package는 테스트를 하려는 서비스, 컴퍼넌트와 동일하게 작성한다.

클래스명은 뒤에 Test를 붙여 작성한다.

테스트 메소드명은 테스트하려는 메소드 앞에 test 를 붙여 작성한다.

하나의 메소드에 대해 여러 개의 테스트 케이스를 작성할 경우에는 테스트 메소드에 일련번호 혹은 식별할 수 있는 단어를 조합한다.

파일명 - 작성 예

img3
Figure 1. 테스트 케이스 생성 모습

8.2. 지역변수

메소드 내부에서 사용하는 지역변수의 이름은 따로 표준을 제공하지 않는다. 자유롭게 선언하여 사용하되 가급적 의미를 쉽게 파악할 수 있는 이름을 사용한다.

8.3. 명명규칙 예제

본 장에서 가이드 한 명명규칙을 지키면 다음 표와 같은 이름의 리소스가 생성 되어야 한다.

Bxcm 프로젝트 명명 예제
구분 설명

프로젝트

  • 온라인 프로젝트 : bxcm-sample-online

  • 배치 프로젝트 : bxcm-sample-batch

Controller 클래스 이름 및 Package

  • Package : bxcm.sample.online.controller

  • 클래스 : SmpEmployeeController

Controller 클래스 이름 및 Package IO 이름 및 Package

  • Package : bxcm.sample.online.controller.dto

  • Input IO : SmpEmployeeController01InDto

  • Output IO : SmpEmployeeController01OutDto

Service 클래스 이름 및 Package

  • Package : bxcm.sample.online.service

  • 클래스 : SmpEmployeeService

Controller 클래스 이름 및 Package IO 이름 및 Package

  • Package : bxcm.sample.online.service.dto

  • Input IO : SmpEmployeeService01InDto

  • Output IO : SmpEmployeeService01OutDto

Component 이름 및 Package

  • Package : bxcm.sample.online.component

  • 클래스 : SmpEmployeeComponent

Component IO 이름 및 Package

  • Package : bxcm.sample.online.component.dto

  • Input IO : SmpEmployeeComponent01InDto

  • Output IO : SmpEmployeeComponent01OutDto

DBIO 이름 및 Package

  • Package : bxcm.sample.online.dbio

  • 클래스 : DSmpEmpTst001

DBIO IO 이름 및 Package

  • Package : bxcm.sample.online.dbio.dto

  • Input IO : DSmpEmpTst001selectPage01InDto

  • Output IO : DSmpEmpTst001selectPage01OutDto

SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.