- 프로그램 코드 작성요령
- 주석을 적절하게 작성
。꼭 필요한 곳에 의미를 잘 전달할 목적으로 충분한 설명을 하되 너무 장황하지 않도록 작성.
Indent( 들여쓰기 )를 일관성 있게 지킨다.
。보통2글자크기.
▶ 한번의tab으로 정의
Spring관련 명명규칙
。구현체는 이름 뒤에Impl을 붙이는게 관례
。AOP는 이름 뒤에AOP를 붙이는게 관례
。Test Class는 이름 뒤에Test를 붙이는게 관례
。메서드명은 의미를 내포하여 작성
ex )객체 반환 : getUser(),리스트 반환 : getUsers()
테스트코드관련 명명규칙
。영속성 컨텍스트에저장된 객체의 경우saved 키워드작성
ex )savedUser
MVC관련명명규칙
。Controller,Repository,Service,DTO역할의클래스는 각각패키지로 구분하여 정리
▶패키지명은소문자로 작성
Controller
。모든데이터를 조회하여 반환하는Controller 메서드명은search()로 지정
Enum관련 명명규칙
。Enum으로상태에 대한상수를 작성 시과거형으로 작성@Getter @RequiredArgsConstructor public enum OrderStatus { PENDING("결제대기"), COMPLETED("결제완료"), CANCELLED("주문취소"), SHIPPED("배송중"), DELIVERED("배송완료"), CONFIRMED("구매확정"); private final String description; }
URL 엔드포인트 명명규칙
。특정Resource를 조작하기 위한URL 패턴
。users는백엔드기준도메인( =비즈니스 모델)인user에서복수로 표현가능하므로 관례적으로users로 설정
。GET /api/users: 모든 사용자 조회
。GET /api/users/{id}: 특정 사용자 조회
。POST /api/users: 새로운 사용자 생성
。PUT /api/users/{id}: 특정 사용자 정보 전체 수정
。PATCH /api/users/{id}: 특정 사용자 정보 일부 수정
。DELETE /api/users/{id}: 특정 사용자 삭제
。GET /api/users/{id}/posts: 특정 사용자와 연결된 모든 게시물 검색
。POST /api/users/{id}/posts: 특정 사용자와 연결된 게시물 생성
。GET /api/users/{id}/posts/{post_id}: 특정 사용자와 연결된 특정 게시물 검색
API관련 명명규칙 URI
。API를 사용 시 관례적으로URI는/api/자원명으로 시작하도록 설정
。백엔드기준의도메인( =비즈니스모델명)을서버 API URI의path명칭으로 지정
▶비즈니스모델명:user,notice,product,stock, ...
ex )서버 어플리케이션내자원접근 시localhost:8080/api/users으로 자원에 접근하도록API를 구성
▶user등의도메인의 경우복수형(users)로 설정
프로그래밍 명명법( Naming Convention ) :
。Class:파일명과 동일해야한다.
。package: 모두소문자사용하며기업의 경우도메인명이 겹치지 않기 위해 거꾸로 적는 경우도 존재
ex )com.company.project.service , ...
PastelCase:
。대문자로 시작하며합성어일 경우 각 단어의 시작을대문자로 설정.
▶Class,Interface에 적용.
ex )SimpleCalculator
。클래스명은 보통명사를 사용.
。인터페이스명은 보통형용사를 정의
ex )Comparable
CAPITAL:
。모두대문자로 작성하고합성어인 경우 사이에_를 포함
▶ 상수의 이름으로 설정
ex )DEFAULT_VALUE
camelCase:
。소문자로 작성하고,합성어일 경우 그 다음 단어 시작을대문자로 설정.
▶field명,method에 적용
。Method명은 보통 동사를 사용
。field명은 보통 명사를 사용.
。Spring Context에Spring Bean을 추가 시 해당명명규칙으로 등록
ex )sum,sumScore
snake_case
。모두소문자로 작성하고합성어인 경우 사이에_를 포함
▶JSON 파일명으로 지정
kebab-case:
。모두소문자로 작성하고합성어인 경우 사이에-를 포함
▶URI,css 속성명,http header명,Git Repository등에 사용
변수식별자(
Identifier) 명명 권고사항
。 변수가 가지는 의미를 잘 전달하도록 명명.
문자,$,_,숫자를 변수이름으로 설정 가능
。변수명은 문자로 시작하는게 좋다.
▶ 숫자로 시작할 수 없으며_로 시작하는건 권장하지 않는다.
。특수문자들은 변수명으로 사용하지 않는게 좋다.
변수명에는 공백이 들어갈 수 없다.
。변수명을 대문자로 짓지않는게 좋다.
▶ 대문자는 보통 상수명으로 활용되므로.
- 예약어(
reserved words)는 변수명으로 활용할 수 없다.
。_에약어로 설정 시identifier로서 명명이 가능하나, 권고하지 않는다.
예약어 :컴파일러에서 미리 정의된 예약식별자로서 모두 소문자로 구성.
ex)break,catch
구분자
- 중괄호 : Brace
{ }:
。Class,Method, 반복문 등에서코드Block을 한정 시 사용.
- 소괄호 : Parenthesis
( ):
。Method와Method 호출부의 매개변수(argument)정의 시와 반복문에서 사용.
- Semicolon
;:
。문장을 마침
- Comma
,:
。Method의 매개변수를 구분 시 사용.
- Period
.:
。Class내Method,Object내Member variable,Method를 지칭 시 사용.
- Placeholder :
< >
。Generic등을 구현 시Type을 지정하는 용도.