Coding Convention - Likelion-lucky7/DECO GitHub Wiki

Airbnb code convention style을 주로 참고하여 작성되었습니다.

변수(함수) 명에 대한 Naming Convention

  • 변수, 함수, 인스턴스
    변수, 함수, 인스턴스를 작성할 때는 *Camel Case(카멜 케이스)*를 사용합니다. ex) camelCase

  • 함수명 작성
    함수명을 작성할 때는 동사+명사 형태로 구성합니다. ex) getUserInfomation()

  • 글자의 길이
    글자의 길이는 20자 이내로 제한합니다. 4 단어 이상이 들어가거나, 부득이하게 20자 이상이 되는 경우 팀원과의 상의를 거칩시다.

  • Flag로 사용되는 변수
    플래그(Flag)란 '깃발'이란 의미이지만, 프로그래밍에서는 '상태를 기록하고 처리 흐름을 제어하기 위한 boolean 변수'를 의미합니다. Boolean의 경우 조동사+flag 종류로 구성됩니다. ex) isNum, hasNum

  • 약칭의 사용
    약어는 되도록 사용하지 않는 것이 좋습니다. 부득이하게 약어가 필요하다고 판단되는 경우 팀원과의 상의를 거쳐봅시다.

  • 문자열 선언에는 홑따옴표를 사용한다.

최대 tab depth의 제한

  • tab의 최대 depth는 4로 제한합니다. 만약 이 이상으로 depth가 깊어지면 함수를 통해 나눌 수 있도록 합니다. 그 이상으로 개선할 수 없다고 판단되는 경우, 팀원들과의 코드 리뷰를 통해 개선합니다.
function func () {
  //tab1
  if() {
    //tab2
    array.reduce((pre, cur) => {
      //tab3
      if(cur == status) {
        //tab4
       }
     }
   }
 }

주석 규칙

한줄은 //로 적고, 그 이상은 /** */로 주석을 작성합니다.

// 한 줄 주석일 때
/**
* 여러줄
* 주석일 때
*/

bracket({}) 규칙

  • if문, for문 while문의 중괄호는 여러 줄로 작성합니다.
if(trigger) {
  return;
}

비동기 함수의 사용

  • Promise함수의 사용은 지양하고 async, await를 사용하도록 합니다. 다만 로직을 짜는 데 있어 promise를 불가피하게 사용할 경우, 주석으로 표시하고 commit에 그 이유를 작성합니다.

File Naming

  • Component일 때는 Pascal Case를 사용합니다.
  • 그 외에는 Camel Case 를 사용합니다.

Branch Naming

  • 브랜치명 끝에 #이슈번호 붙이기
    ex) branch#1
  • 브랜치명 단어 구분은 -로
    ex) branch-for-check#1

Others

  • 함수형 Component만을 사용합니다.
  • 가능한 한 구조분해할당 사용하기
⚠️ **GitHub.com Fallback** ⚠️