Programming/기타

어플리케이션 구성요소별 Naming Convention

armyost 2023. 6. 26. 17:57
728x90

Oracle 가이드는 다음과 같으니 참고하시길

https://www.oracle.com/java/technologies/javase/codeconventions-introduction.html

 

Code Conventions for the Java Programming Language: 1. Introduction

We’re sorry. We could not find a match for your search. We suggest you try the following to help find what you’re looking for: Check the spelling of your keyword search. Use synonyms for the keyword you typed, for example, try "application" instead of

www.oracle.com

 

 

네이밍 컨벤션에 대해 좀 정리해보았다.

 

 

기본적인 명명규칙

Package 모두 소문자로 표시. 조직의 내부적인 고유한 Naming Convention을 그대로 따르면 된다.  com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
 Class 명사여야 하며, 파스칼 표기법. 
가급적이면 약어를 피한다.
class Raster;
class ImageSprite;
Interface 파스칼 표기 interface RasterDelegate;
interface Storing;
Methods 카멜표기법을 따르며, 동사여야 한다. run();
runFast();
getBackground();
Variables 짧으면서도 의미가 있어야 한다. 그렇다고 하나의 스펠링으로 만들어도 안된다. 

다만, 임시변수는 i, j, k, m을 많이 사용하는 편이며, integers를 위한 임시변수는 n을 사용한다. character를 위한 임시변수는 c, d, e 가 있다.

파라미터로 다니는 변수는 소문자와 언더바'_'로 표시한다. 그래야 사용할때 로컬변수와 구분할 수 있다. 
int i;
char c;
float myWidth;
Constrants 모두 대문자, 언더바(_)로 구분 static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 999;
static final int GET_THE_CPU = 1;

 

 

Class 명명규칙

  명명규칙 비고
Controller Domain명 + Controller  
Service 좀더 세분화하면 좋다.
OrderRegisterService
도메인명을 그대로 따르는것은 피한다. 
예) OrderService (X)

 

 

Method 명명규칙

Controller의 Method는 다음과 같은 접미사를 붙인다. 기능
orderList() 목록조회 유형 
orderDetails() 단건 상세조회 유형
orderSave() 등록/수정/삭제가 동시에 일어나는 유형
orderAdd() 등록만 하는 유형
orderModify() 수정만 하는 유형
orderRemove() 삭제만 하는 유형

 

Service의 Method는 다음과 같은 접두사를 붙인다. 기능
findOrder() 조회 유형
addOrder() 등록 유형
modifyOrder() 변경유형
removeOrder() 삭제유형
saveOrder() 등록/수정/삭제가 동시에 일어나는 유형

 

Mapper(Dao)의 Method는 다음과 같은 접두사를 붙인다. 기능
selectOrder() 조회 유형
insertOrder() 등록 유형
updateOrder() 변경 유형
deleteOrder() 삭제 유형
selectListOrder() 목록 조회 유형
selectPagingListOrder() 목록 조회 유형(페이징처리)

 

그외 지켜야 할 것들

- Controller에서는 Service 호출과 Exception 처리만을 담당한다.

- Package는 목적(업무)별로 생성한다.

- 하나의 Class 내부에는 같은 목적만을 가진 코드가 존재하여야 한다.

- 하나의 Method는 한가지 기능만을 가져야 한다.

- Class와 Method는 가능한한 작게 만든다.

 

→ 여러 기능이 모인 적은수의 큰 Class보다는 목적이 뚜렷한 작은 Class 여러개로 이루어진 시스템이 바람직 하다.