Naming Convention
- 필드는 ‘_’ 접미사를 사용합니다.
- 변수의 길이는 영역과 비례합니다.
- 객체명의 의미를 메소드명에 넣지않는다.?line.getLength(); // NOT: line.getLineLength
- compute, find, initialize 사용합니다.
- 컬렉션은 복수형으로 사용합니다.
- 개수를 나타내는 변수는 ’n’ 접두사를 사용합니다.
- 엔터티 번호에는 ‘i’ 접두사나 ‘No’ 접미사를 사용합니다.
- 대응하는 단어를 사용합니다..?get/set , add/remove , create/destroy , start/stop , insert/delete , increment/decrement , old/new , begin/end , first/last , up/down , min/max , next/previous , old/new , open/close , show/hide , suspend/resume
- 함수명은 ‘처리 후 무엇을 리턴하는지’, 프로시저명은 ‘무엇을 처리하는지’를 나타냅니다.
- 인터페이스 디폴트 구현은 ‘Default’ 접두사를 사용합니다.
- 팩토리 메소드의 이름은 ‘new’ 접두사에 반환하는 인스턴스의 클래스명으로 합니다.?public Point newPoint(...)
- 메소드 선언 규칙은 <access> static abstract synchronized <unusual> final native 순서입니다.
- do-while 사용 자제합니다.
- 조건이 복잡한 경우 임시 boolean으로 단순화 합니다.
- 정상적인 경우를 if에 놓고 예외를 else에 둡니다.
- 조건문과 한줄에 놓지 않습니다.?디버깅을 위해서
- 조건문 안에 실행문이 있어서는 안됩니다.
- 특정 의미를 갖는 숫자는 항상 의미를 나타내는 상수로 바꿔서 사용합니다.
- 빈 for문은 ‘;’(세미콜론)을 새 줄에 놓습니다.?for(<initialization>; <condition>; <update>)? ;
- 복잡한 메소드는 주석을 달지 말고 새로 만듭니다.(self-documenting)
- javadoc주석을 제외한 주석은 multi-line 주석이라고 해도 ‘//‘를 사용한다.?/* */주석은 디버깅용으로 언제든 제거해서 사용 할 수 있게 합니다.
- 컬렉션은 포함하는 유형을 주석으로 뒤에 넣습니다.?private Vector points_; // of Point
- 모든 public 클래스, 또 publics 클래스내의 public, protected 메소드는 javadoc을 만듭니다.
Java Naming Conventions
Identifier Type | Identifier Type | Examples |
Packages | 유일 패키지명의 접두어는 항상 소문자로 된 ASCII 문자로 쓰며, 현재까지의 최상위 도메인명인 com, edu, gov, mil, net, org중에 하나이거나, ISO 표준 3166 (1981)에서 지정한 두글자로 된 영문 국가 코드 중에 하나여야 합니다. 패키지명의 나머지 요소들은 조직의 내부 네이밍 규칙에 따라 바뀝니다. 이러한 규칙들에 따르면 어떤 디렉토리명 요소에는 부서명, 프로젝트명, 기관명, 로그인 사용자명 등이 올 수 있습니다. |
com.sun.eng com.apple.quicktime.v2 edu.cmu.cs.bovik.cheese |
Classes | 클래스명은 명사여야 하고, 각 단어의 첫글자는 대문자로 합니다. 클래스명은 간단해야 하며, 그 클래스를 잘 설명할 수 있어야 합니다. (만약 URL이나 HTML같은 단어처럼 축약형이 더 널리 사용되는 경우가 아니라면) 이니셜명이나 축약형은 피하고 전체 단어를 사용합니다. |
class Raster; class ImageSprite; |
Interfaces | 인터페이스명은 클래스명과 같은 대소문자 규칙을 적용합니다. | interface RasterDelegate; interface Storing; |
Methods | 메소드는 동사여야 하고 첫 글자는 소문자, 다음의 각 단어의 첫글자는 대문자를 사용합니다. | run(); runFast(); getBackground(); |
Variables | 변수를 제외하고, 모든 인스턴스, 클래스, 클래스 상수는 첫 글자를 소문자로 시작하는 대소문자 혼합 형태입니다. 내부 단어는 대문자로 시작해야 합니다. 변수명으로 언더스코어("_")나 달러("$") 둘 다 허용은 되지만, 이들 글자들로 시작할 수는 없습니다. 변수명은 짧지만 의미를 가져야 합니다. 변수명은 기억하기 쉬워야 합니다. 즉, 임의의 관찰자가 보더라도 그 사용의도를 알 수 있게 해야 합니다. 임시적인 1회성(throwaway) 변수가 아니라면 한 글자로 된 변수명은 피해야 합니다. 임시변수에 대한 일반적인 이름은 i, j, k, m 가 있고, 정수를 나타내는 n, 문자를 나타내는c, d, e가 있습니다. |
int i; char c; float myWidth; |
Constants | 클래스 상수로 선언된 변수명과 ANSI 상수명은 언더스코어("_")로 구분된 대문자 단어를 사용합니다. (디버깅을 편하게 하려면 ANSI 상수는 피하는 것이 좋습니다.) |
static final int MIN_WIDTH = 4; static final int MAX_WIDTH = 999; static final int GET_THE_CPU = 1; |
'JAVA' 카테고리의 다른 글
[JAVA] - this와 this() (0) | 2024.01.27 |
---|---|
[JAVA] - 생성자 (0) | 2024.01.27 |
[JAVA] - Static(정적)이란 (0) | 2024.01.23 |
[JAVA] - 접근제어자란? (0) | 2024.01.23 |
[JAVA] - 클래스란 (0) | 2024.01.23 |