목차
2.
3.
4.
5.
6.
7.
8.
9.
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 등