본문 바로가기
JAVA

[JAVA] - Naming Convention

by nam_ji 2024. 1. 27.

Naming Convention

  1. 필드는 ‘_’ 접미사를 사용합니다.
  2. 변수의 길이는 영역과 비례합니다.
  3. 객체명의 의미를 메소드명에 넣지않는다.?line.getLength(); // NOT: line.getLineLength
  4. compute, find, initialize 사용합니다.
  5. 컬렉션은 복수형으로 사용합니다.
  6. 개수를 나타내는 변수는 ’n’ 접두사를 사용합니다.
  7. 엔터티 번호에는 ‘i’ 접두사나 ‘No’ 접미사를 사용합니다.
  8. 대응하는 단어를 사용합니다..?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
  9. 함수명은 ‘처리 후 무엇을 리턴하는지’, 프로시저명은 ‘무엇을 처리하는지’를 나타냅니다.
  10. 인터페이스 디폴트 구현은 ‘Default’ 접두사를 사용합니다.
  11. 팩토리 메소드의 이름은 ‘new’ 접두사에 반환하는 인스턴스의 클래스명으로 합니다.?public Point newPoint(...)
  12. 메소드 선언 규칙은 <access> static abstract synchronized <unusual> final native 순서입니다.
  13. do-while 사용 자제합니다.
  14. 조건이 복잡한 경우 임시 boolean으로 단순화 합니다.
  15. 정상적인 경우를 if에 놓고 예외를 else에 둡니다.
  16. 조건문과 한줄에 놓지 않습니다.?디버깅을 위해서
  17. 조건문 안에 실행문이 있어서는 안됩니다.
  18. 특정 의미를 갖는 숫자는 항상 의미를 나타내는 상수로 바꿔서 사용합니다.
  19. 빈 for문은 ‘;’(세미콜론)을 새 줄에 놓습니다.?for(<initialization>; <condition>; <update>)? ;
  20. 복잡한 메소드는 주석을 달지 말고 새로 만듭니다.(self-documenting)
  21. javadoc주석을 제외한 주석은 multi-line 주석이라고 해도 ‘//‘를 사용한다.?/* */주석은 디버깅용으로 언제든 제거해서 사용 할 수 있게 합니다.
  22. 컬렉션은 포함하는 유형을 주석으로 뒤에 넣습니다.?private Vector points_; // of Point
  23. 모든 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