////
Search
Duplicate
👂🏼

[B-003-PR] 네이밍 컨벤션

목차

3.

1. 공통 네이밍 규칙

대소문자가 구분되어야 하고 길이를 제한하지 않고, 이름만으로 의미 부여를 명확하게 한다
예약어, 키워드는 변수명에 사용하지 않는다
숫자로 시작하지 않는다
특수문자는 ‘_’와 ‘$’만 허용
반의어는 반드시 대응하는 개념으로만 사용한다
add
create
start
insert
increment
old
begin
up
min
next
open
show
suspend
parent
get
remove
destroy
stop
delete
decrement
new
end
down
max
previous
close
hide
resume
child
set

2. 파일명

파스칼 케이스 사용
UserController.ts, UserService.js
파일명에서 해당 파일이 어떤 일을 하는지 드러나야 함, 또한 상위 디렉토리를 기반으로 이해가 가능해야 함
src/business/user/api/UserController ⇒ 비즈니스 로직 중, User 도메인에서 api, Controller
src/common/response/*.ts ⇒ 공통 로직 중, 응답 관련된 것들
src/config/redis/*.js ⇒ redis 설정 관련

3. URL

케밥 케이스 사용
모든 url은 케밥 케이스를 사용함
/api/users/sign-up, /api/users/:id/update
REST API 기반 설계 원칙

4. 객체 Key

JS, TS 문법 중 객체를 사용할 때, 객체의 key 값 네이밍
스네이크 케이스 사용
{ id : 1, nane : “john”, sex : “male”, created_at : "2020-12-11" }
띄어쓰기가 필요할때 _를 사용

5. DB 컬럼

대문자를 사용, 단어와 단어 사이는 ‘_’로 구분
약어 사용 시에 협의된 것만 사용
칼럼의 의미를 한 눈에 알 수 있는 약어를 사용
_CM, _NM 등
접미사 목록

6. 변수

카멜 케이스를 사용한다.
userDetails, userName
해당 변수가 우리가 표현하고자 하는 것을 표현할 수 있어야 한다
약어 같은 경우 협의 후 사용하며 협의하지 않으면 사용하지 않는다. 또한 약어를 사용하기로 했을 때는 약어만 사용한다
count vs cnt

7. 함수

카멜 케이스를 사용한다
함수가 어떤 일을 하는지 표현할 수 있어야 한다
getUserId, getUserName, connectAWS

8. 클래스

객체지향 적용 시, 적용할 예정이며, 해당 클래스가 존재하는 파일명과 일치시킨다

9. 공통 상수

DB column 명 규칙을 따라간다.
RESPNOSE_CODE, RESPONSE_STATUS