Search
Duplicate

Code Convention

Google Java Style

구글 스타일을 적용하되 indent는 4로 설정하여 작업한다

줄 나누기

하나의 식이 한 줄에 들어가지 않을 때에는, 다음과 같은 일반적인 원칙들을 따라서 두 줄로 나눈다.
콤마 후에 두 줄로 나눈다.
연산자(operator) 앞에서 두 줄로 나눈다.
레벨이 낮은 원칙보다는 레벨이 높은 원칙에 따라 두 줄로 나눈다.
앞줄과 같은 레벨의 식(expression)이 시작되는 새로운 줄은 앞줄과 들여쓰기를 일치시킨다.
만약 위의 원칙들이 코드를 더 복잡하게 하거나 오른쪽 끝을 넘어간다면, 대신에 8개의 빈 칸을 사용해 들여쓴다.

문(Statements)

각각의 줄에는 최대한 하나의 문(statement)만 사용하도록 한다.

PascalCase

첫글자와 이어지는 단어의 첫글자를 대문자로 표기하는 방법
예) GoodPersonMyKakaoCakeIAmDeveloper
Pascal 이라는 프로그래밍 언어에서 이러한 표기법을 사용해서 유명해진 방식이야.
PascalCase (파스칼 케이스)
첫글자와 이어지는 단어의 첫글자를 대문자로 표기하는 방법
예) GoodPersonMyKakaoCakeIAmDeveloper
Pascal 이라는 프로그래밍 언어에서 이러한 표기법을 사용해서 유명해진 방식이야.

공백(Blank Spaces)

공백은 다음과 같은 경우에 사용한다.
괄호와 함께 나타나는 키워드는 공백으로 나누어야 한다.
while (true) { ... }
Java
복사
메서드 이름과 메서드의 여는 괄호 사이에 공백이 사용되어서는 안 된다는 것을 명심하자. 이렇게 하는 것은 메서드 호출과 키워드를 구별하는데 도움을 준다.
공백은 인자(argument) 리스트에서 콤마 이후에 나타나야 한다.
.을 제외한 모든 이항(binary) 연산자는 연산수들과는 공백으로 분리되어져야 한다. 공백은 단항 연산자(++ 혹은 –)의 경우에는 사용해서는 안 된다.
a += c + d; a = (a + b) / (c * d); while (d++ = s++) { n++; } printSize("size is " + foo + "\n");
Java
복사
for 문에서 사용하는 세 개의 식(expression) 들은 공백으로 구분해서 나누어야 한다.
for (expr1; expr2; expr3)
Java
복사
변수의 타입을 변환하는 캐스트(cast)의 경우에는 공백으로 구분해야 한다.
myMethod((byte) aNum, (Object) x); myMethod((int) (cp + 5), ((int) (i + 3)) + 1);
Java
복사

camelCase

(카멜 케이스)
첫단어는 소문자로 표기하지만, 이어지는 단어의 첫글자는 대문자로 표기하는 방법
예) goodPersonmyKakaoCakeiAmDeveloper

디렉토리 구조

도메인 - controller, dto, service, repository, entity,
Global
Common

네이밍 규칙

dto
도메인 + 기능 + 요청
request
response
Entity
엔티티명: 도메인명 그대로 ex) User
database → echo_db

RequestDto 작성 양식

@Getter @NoArgsConstructor public RequestDto { //... }
Java
복사

ResponseDto 작성 양식

@Builder @Getter @AllArgsConstructor @NoArgsConstructor public ResponseDto { //... }
Java
복사

메소드 네이밍 컨벤션

오라클 네이밍 컨벤션을 따르는건 어떤가요

of

팩토리 메서드의 파라미터로 넘어온 값들을 검증하여 인스턴스를 생성할 때 사용한다.
DTO 같은 것이 넘어와 걔네들을 인스턴스로 변환하는 것이 아니다.

from

팩토리 메서드의 파라미터로 넘어온 값들을 해당 클래스의 인스턴스로 변환할 때 사용한다.
이 과정에서 파라미터의 값들 중 일부는 유실될 수 있다.

parse

팩토리 메서드의 파라미터로 넘어온 string 값을 파싱하여 해당 클래스의 인스턴스로 만들 때 사용한다.