코드 컨벤션
레퍼런스
- 협업을 위한 코드컨벤션 설정하기 https://overcome-the-limits.tistory.com/5
- 우당탕탕 프론트웹개발팀의 개발일기 https://www.intelligencelabs.tech/88407556-c76e-49ea-8df2-2140a80ba2ad
- 토스트UI 팀 코딩 컨벤션 https://ui.toast.com/fe-guide/ko_CODING-CONVENTION
변수(함수) 명에 대한 네이밍
- 변수, 함수, 인스턴스 CamelCase 사용 ex) camelCase, setName
- 지역 변수명 또는 private 변수명
_
로 시작 ex) _privateVariableName
- 함수명 작성 동사+명사 형태로 작성 ex) getUsetInfomation()
- Class, Constructor Pascal Case(=upper 카멜 케이스) ex) ThisIsClassName
- 글자의 길이 보통 20자 내외로 제한, 4 단어 이상 또는 20자 이상일 경우 팀원과 상의하여 결정
- 약칭의 사용 약어는 되도록이면 지양, 부득이할 경우 상의 ex) index ⇒ idx, count ⇒ cnt, array ⇒ arr
- React 컴포넌트 명도 Pascal Case 공식문서에서 그렇게 하도록 명시 ex) ComponentName
- 스타일 컴포넌트 명명
const StyledComponent = styled.div
- 타입 및 인터페이스 명 {Pascal Case}Type
최대 tab depth 제한
최대 tab depth는 4로 제한
이 이상 깊어질 경우 함수를 통해 나누는 방식으로 바꾸기
이외의 경우에는 코드리뷰를 통해 개선점 찾기
function func () { //tab1 if() { //tab2 array.reduce((pre, cur) => { //tab3 if(cur == status) { //tab4 } } } }
출처:
[Plus Ultra:티스토리]
들여쓰기
space와 tab을 섞어서 사용하지 않는다. 공백 문자를 사용할 경우 공백 2개 또는 4개 단위로 사용한다. 혼동을 막기 위해서다. tab 2
주석 규칙
한 줄은
//
로 그 이상은 /** */
로 작성함수에 대한 주석
함수는 전체 기능, 파라미터 및 타입, api 관련 함수일 경우에는 성공 여부에 대한 설명도 적는다
bracket({}) 규칙
if 문의 중괄호는 여러 줄로 작성
주요 중괄호 앞에는 스페이스 1개를 넣는다(필요할지 의문)
magic number 지양
코드에서 숫자나 문자열을 직접 사용하는 것
상수 데이터 값은 constat 파일로 따로 분리하여 관리한다.
이 때 상수 변수명은 전부 대문자로 작성한다.
ex) LOGIN_ERROR_MESSAGE
함수 사용
else if의 사용
불가피한 경우를 제외하고 else if 사용은 피하자
조건을 만족하면 return을 통해 탈출하도록 구현
arrow function의 사용 (익명 함수)
테스트가 필요한 기능은 화살표 함수를 사용하지 않는다.
만약 한 줄로 끝나는 경우, 테스트가 필요없는 간단한 로직의 경우 화살표 함수를 사용한다.
저희는 화살표 함수로 갑니다 ^^
함수 파라미터 개수 제한
함수의 인자로 변수를 선언하는 건 3개까지 가능
그 이상은 팀원과 상의
비동기 함수의 사용
Promise 함수의 사용을 피하고 async, await를 통해 구현
불가피하게 사용해야 할 경우 그 이유를 주석으로 설명하고 커밋을 통해 공유
데이터 베이스 명명 규칙
DB 이름 (스키마)
데이터베이스 명은 영어 대문자, 길이는 8자 이내로 구성
ex)
'database': "SOPT_27"
테이블
테이블은 영어 대문자로 구성,
대분류_의미있는 테이블 명
형태로 작성테이블 명은 최대 3단어까지 사용
마지막에서는
_TB
접미사를 통해 테이블 구분각 단어의 최대 길이는 8자 이내 및 전체 최대 길이는 26자 이내
ex)
EXERCISE_VIDEO_TB
컬럼
snake 표기법을 사용
의미있는 컬럼명_접미사
형태로 작성이건 잘 모르겠어요..
접미사 list

문장의 종료
문장 종료시 세미콜론 포함 여부 결정
예약어 사용 금지
var 사용 금지, let 사용 지양, const 우선 사용
const를 가장 위에 그 밑에 let을 선언