42서울 도서관 프로젝트 Coding Convention(Java)

Jeheon Park·2021년 10월 17일
0

Java

1. Naming Convetions

1) CamelCase를 기본적으로 사용한다.

1-1) Class, Interface, Exception는 첫글자를 대문자로 한다.
1-2) 패키지 같은경우는 전부 소문자로 처리한다.
1-3) 상수명은 전부 대문자로 치환해서 사용한다.
1-4) 변수명과 메소드명은 소문자로 시작한다.

2) 함수명 같은 경우는 동사 + 명사를 사용한다.
3) 테스트 명은 구체적으로 조건 + 행동 + 결과로 나타낸다.

ex) public void 도서가없을때대출을하면예외가터진다()

4) 행동이 같다면 같은 단어를 사용하는 것을 권장한다.
5) 테스트코드를 제외한 모든 코드는 영어로 작성해야한다.

2. Coding Convetions

1) Data를 DB에서 조회할때는 무조건 Optional을 사용해서 Null 체크를 해야한다.
2) Primitives를 Wrapper 클래스로 변환시에는 valueOf함수를 사용한다.
3) String의 변화가 많을경우 StringBuilder나 StringBuffer를 이용한다.

3-1) MutilThread 환경이면 Thread Safe한 StringBuffer를 이용해야한다.

4) 서버에는 Server-JRE를 사용해서 배포한다.
5) 인터페이스를 설계할때는 상세한 문서화가 필요하다.

5-1) 문서화 이전에 클래스 명과 메소드 명을 명확히한다.
5-2) 인터페이스는 여러가지 목적을 가져선 안된다.

6) 인터페이스를 구현할때는 설계에 따라서 구현한다.
7) 메소드를 구현할때 SRP(단일책임원칙)를 철저히 따른다.
8) 의존관계는 잘변하지 않는 것(인터페이스나 추상클래스)과 맺어야한다.
9) MultiThread를 사용할 경우에는 자료구조의 Thread Safe여부를 살펴야한다.
10) equals 혹은 hashcode를 구현할때는 무조건 둘다 구현해야한다.
11) 자료형의 캐스팅을 할경우 전부 Explicit하게 처리한다.
12) 모든 필드 변수는 private처리한다.
13) 변수를 선언시에는 final로 선언하되 변할 수 있을때만 final을 때준다.

출처

profile
개발자

0개의 댓글