다들 자바 프로젝트를 하면서 한번 쯤은 혹은 여전히 고민하고 계실 네이밍 규칙 Tip을 공유합니다.
공통
- 대소문자가 구분되며 길이에 제한이 없다.
- 예약어를 사용해서는 안 된다.
- 숫자로 시작해서는 안 된다.
- 특수문자는 '_' 혹은 '$'만 허용한다.
- 파스칼 표기법(PascalCase)과 카멜 표기법(camelCase)을 사용한다.
- 반의어는 반드시 대응하는 개념으로 사용해야 한다.
1. Project(프로젝트)
- 대/소문자 구분없이 시작 가능하다.
- 대문자 사용을 권장한다.
2. Package(패키지)
- 패키지명은 대소문자를 모두 허용 하지만 클래스명과 쉽게 구분하기 위해서 소문자로 하는 것을 원칙 으로 하고 있다.
- 표준 패턴을 따른다. Ex) [com].[Company].[Project].[toppackage].[lowerpackage]
- 가급적 한 단어 사용을 권장한다.
- 좋은 예: com.nexon.maplestory.member.object
- 나쁜 예: com.nexon.maplestoryMemberObject
3. Class(클래스)
- 파스칼 표기법을 사용한다.
- 명사로 시작한다.
- Ex) HelloWorld, TestWorld, ByeClass
4. interface(인터페이스)
- 특별한 접두사나 접미사를 사용하지 않고 파스칼 표기법을 사용한다.
- 형용사를 사용한다.
- Ex) Runnable, Remote 등
5. Methods(메서드)
- 카멜 표기법을 사용한다.
- 동사로 시작한다.
5.1) 속성에 접근하는 메서드 명의 접두사는 'get','set'을 사용한다.
(ex. public void setDisplayName)
(ex. public void getDisplayName)
5.2) 데이터를 조회하는 메소드명의 접두사는 find를 사용한다.
(ex. public void findData(String data){})
5.3) 데이터를 입력하는 메소드명의 접두사는 input을 사용한다.
(ex. public void inputData(HashMap data){})
5.4) 데이터를 변경하는 메소드명의 접두사는 modify를 사용한다.
(ex. public void modifyData(HashMap data){})
5.5) 데이터를 삭제하는 메소드명의 접두사는 delete를 사용한다.
(ex. public void deleteData(String data){})
5.6) 데이터를 초기화하는 메서드 명의 접두사는 initialize을 사용한다.
(ex. public void initData(String data){})
5.7) 반환 값의 타입이 boolean인 메서드는 접두사로 is를 사용한다.
(ex. public void isData(String Data){})
5.8) 데이터를 불러오는 메서드 명의 접두사는 load를 사용한다.
(ex. public void loadData(){})
5.9) 데이터가 있는지 확인하는 메소드명의 접두사는 has를 사용한다.
(ex. public void hasData(){})
5.10) 새로운 객체를 만든 뒤 해당 객체를 리턴해주는 메서드 명의 접두사는 create를 사용한다.
(ex. public void createAccount(){})
5.11) 해당 객체를 다른 형태의 객체로 변환해주는 메서드 명의 접두사는 to를 사용한다.
(ex. public void toString(){})
5.12) 해당 객체가 복수인지 단일인지 구분하는 메서드 명의 접미사는 s를 사용한다.
(ex. public void getMembers(){})
5.13) B를 기준으로 A를 하겠다는 메소드명의 전치사는 By를 사용한다.
(ex. public void getUserByName(String name){})
6) Variable(변수)
- 소문자로 시작한다.
- 카멜 표기법을 사용한다.
- ex) firstName , lastName , birthday 등
7. Constant(상수)
- 전부 대문자로 표기한다.
- 스네이크케이스를 사용하여 '_'로 구분한다.
- ex) MAX_PRIORITY , LIFESPAN 등
'Program Language > java' 카테고리의 다른 글
| 객체지향 생활체조 8, 일급 컬렉션이란 (2) | 2023.11.23 |
|---|---|
| 객체지향을 위한 생활체조, 클린코드를 지향합니다. (0) | 2023.10.18 |
| 정확히 모르고 쓰면 사수한테 등짝 스매시 맞는 Thread, 당신도 모르는 사이 쓰고 있었다? (0) | 2023.10.17 |
| 지금까지 당연하게 쓰던 Java8, 함수형 프로그래밍으로 다시 이해하기 (1) | 2023.10.11 |
| 인터페이스 네이밍은 어떻게 해야할까? (0) | 2023.10.10 |