Code Convention - leegwichan/StackOverFlow_Refactoring GitHub Wiki
기본적인 Code Convention
참고 자료
- 자세한 내용은 Google Java Style Guide 참고
2. Source file basics
- 2.1 File name
- 가장 상위에 작성된 class 이름과 동일, 확장자는 .java를 사용
- 2.2 File encoding: UTF-8
- 2.3 Special characters
- Whitespace characters
- 소스 파일에서는 ASCII horizontal space character (0x20) 만을 사용한다.
- Special escape sequences
- 특정 문자(\b, \t, \n, \f, ...)들은 octal, Unicode 형식이 아닌 "\n" 과 같은 형식을 사용한다.
- Non-ASCII characters
- 아래와 같은 방법을 이용한다.
// 가장 좋은 방법 String unitAbbrev = "μs"; // 나타낼 수 없는 문자에는 Unicode를 사용하고 필요한 경우 주석을 달 수 있다. return '\ufeff' + content; // byte order mark
- Whitespace characters
3. Source file structure
- 아래와 같은 순서대로 작성하고 각 부분마다 BLANK LINE을 만든다.
- 3.1 License or copyright information
- 있다면 작성하고 아니면 작성하지 않는다.
- 3.2 Package statement
- 3.3 Import Statement
- No wildcard imports : 뒤에 "*"을 이용해서 여러 class, method를 import하지 않는다.
- Ordering and spacing : static imports 를 우선적으로 적고 non-static imports를 한칸 띄고 적음
- 3.4 Class declaration
4. Formatting
5. Naming
6. Programming Practices
보기 편하기 위한 Code Convention
1. method
- 메서드의 길이가 15라인을 넘어가지 않도록 구현한다.
- 메서드가 한 가지 일만 하도록 최대한 작게 만들어라.
- 메서드의 파라미터 개수는 최대 3개까지만 허용한다.
2. 반복문, 조건문
- indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다. 2까지만 허용한다.
- 예를 들어 while문 안에 if문이 있으면 들여쓰기는 2이다.
- 3항 연산자를 쓰지 않는다.
- else 예약어를 쓰지 않는다.
- switch/case는 최소한으로 사용한다.
3. 테스트
- JUnit 5와 AssertJ를 이용하여 본인이 정리한 기능 목록이 정상 동작함을 테스트 코드로 확인한다.