<aside>
<img src="/icons/arrow-right-basic_gray.svg" alt="/icons/arrow-right-basic_gray.svg" width="40px" /> 해당 페이지는 부스트캠프 웹·모바일 8기 그룹 프로젝트 web13_Boarlog
의 code 컨벤션을 정리한 페이지입니다.
</aside>
추가, 변경하고 싶은 내용이 있으면 언제든지 이야기 해요
변수명, 함수명 : camelCase
변수
명사
를 사용해요.단수 + List
를 사용해요.
chatList
(O) chats
(x)함수
함수명은 어떤 기능을 하는지 드러날 수 있도록 동사 + 𝝰
로 작성해요.
함수의 반환값이 boolean
이라면 is + 대상 + 상태
로 작성해요. (ex. isLoadSuccess)
function 키워드 대신 화살표 함수를 사용해요.
parameter의 개수와 상관 없이 소괄호로 parameter를 묶어요.
// err을 괄호로 묶는다.
socket.on('error', (err) => {
console.log(err);
})
가독성을 위해 const는 let보다 위에 작성해요.
약어 및 이니셜은 항상 모두 대문자로 사용해요. (ex. SMS
(O) sms
(X), HTTP
(O) Http
(X))
한글 발음을 그대로 사용하지 않아요 (ex. dongDaeMun-동대문
).
앞에 _
가 있는 경우는 private 변수 또는 함수를 의미해요.
_
을 사용하지 않아요._
를 사용하고, getter/setter 메서드 이름에는 _
를 제외한다.React 컴포넌트, 클래스명 : PascalCase
상수명 : UPPER_SNAKE_CASE
파일명
kebab-case
로 작성하고 목적을 "."으로 구분하여 작성해요.
user-article.contorller.js
PascalCase
를 사용해요.camelCase
를 사용해요 (ex. util.ts).
.tsx
로 이외는 .ts
로 작성해요.디렉토리명 : lower-kebap-case
PascalCase
를 사용해요기타
이벤트 핸들러
는 on
으로 시작해요.PascalCase
export
파일을 1개의 클래스
로 export 하는 경우, 파일명은 클래스명과 같아야 해요.
// file contents
class CheckBox {
// ...
}
export default CheckBox;
// in some other file
// bad
import CheckBox from "./checkBox";
// bad
import CheckBox from "./check_box";
// good
import CheckBox from "./CheckBox";
Default export가 함수
일 경우, camelCase를 이용해요. 파일명은 함수명과 같아야 해요.
function makeStyleGuide() {
}
export default makeStyleGuide;
Singleton / function library / 빈 오브젝트
를 export 하는 경우에는 PascalCase를 사용해요.
const AirbnbStyleGuide = {
es6: {
}
};
export default AirbnbStyleGuide;
이외의 내용은 prettier에게 맡겨요.
FE prettier
/*231114*/
{
"printWidth": 120,
"tapWidth": 2,
"semi": true,
"quoteProps": "as-needed",
"bracketSameLine": false,
"trailingComma": "none",
"endOfLine": "auto"
}
BE prettier
/*231114*/
{
"singleQuote": true,
"trailingComma": "none",
"semi": true,
"tabWidth": 2,
"printWidth": 120,
"arrowParens": "always",
"bracketSpacing": true,
"endOfLine": "lf"
}