Search
Duplicate

Code Convention

Naver-Coding-Convention

IntelliJ IDEA 컨벤션 적용 참고 링크

TL; DR; (Too Long Didn’t Read)

1. 코딩 규칙 정하기 2. Branch와 커밋이름에 이슈번호 prefix로 적기 3. PR과 커밋은 최대한 작은 단위로 쪼개기 4. GitHub 템플릿으로 PR내용 규격화 5. 라벨 활용하기 6. 리뷰어가 빌드 성공여부/코딩컨벤션 확인하지 않기 7. 코드리뷰 내용 반영할때마다 커밋 id남기기
Plain Text
복사

Entity

@Setter 사용 금지
인자가 너무 많아서 길어진다면, 각 인자별로 줄바꿈 해주기
request → entity
User.of(UserCreateRequest)
userService 안에 User.of(request)
entity → response
response.from(entity)

Response

Custom ResultCode 사용
Custom ResponseEntity 사용
code : 서비스 코드값
도메인 첫 글자 대문자 + 0(성공) / 1 (실패) + XX ( 0~99 하위 기능) + XX (0~99 식별자값 ) 예시 : 회원가입 성공 - U00100 / 실패 (아이디 중복) - U10100 로그인 성공 - U00200 / 실패 (로그인 정보 다름) - U10200
message : 응답 메시지
data : 응답 데이터
api 1개당 dto 1개씩 (req, res)
단건 조회 @Pathvariable 사용
요청할 데이터가 1개일 경우만 해당
2개 이상은 Dto에 담아서 요청

이름 (Naming)

1. 식별자에는 영문/숫자/언더스코어만 허용
2. 한국어 발음대로의 표기 금지
3. 패키지 이름은 소문자로 구성
4. 클래스/인터페이스 이름에 대문자 카멜표기법 적용
5. 클래스 이름에 명사 사용
6. 인터페이스 이름에 명사/형용사 사용
7. 테스트 클래스는 'Test’로 끝남
8. 메서드 이름에 소문자 카멜표기법 적용
9. 메서드 이름은 동사/전치사로 시작
10. 상수는 대문자와 언더스코어로 구성
11. 변수에 소문자 카멜표기법 적용
12. 임시 변수 외에는 1 글자 이름 사용 금지
13. static import에만 와일드 카드 허용

보류

Checkstyle 플러그인 설정

아래와 같이 `build.gradle`에 선언한다.
plugins { id 'checkstyle' } checkstyle { maxWarnings = 0 // 규칙이 어긋나는 코드가 하나라도 있을 경우 빌드 fail을 내고 싶다면 이 선언을 추가한다. configFile = file("${rootDir}/naver-checkstyle-rules.xml") configProperties = ["suppressionFile" : "${rootDir}/naver-checkstyle-suppressions.xml"] toolVersion ="8.24" // checkstyle 버전 8.24 이상 선언 }
JavaScript
복사