-
Notifications
You must be signed in to change notification settings - Fork 1
Code Convention
lybell edited this page Nov 7, 2022
·
3 revisions
- 변수나 함수의 식별자는 누구나 알아볼 수 있는 형태로 선언한다.
- 변수나 함수의 식별자는 카멜 케이스를 사용한다.
const thisIsCamelCase; //(O)
const this_is_snake_case; //(X)
- 클래스나 React Component의 식별자는 파스칼 케이스를 사용한다.
//(O)
class MyClass {}
function ReactComponent() {
return <div>Component!</div>;
}
//(X)
class MY_CLASS {}
function reactComponent() {
return <div>Component!</div>;
}
-
let
,const
를 사용한다.var
는 절대 사용하지 않는다.
let thisIsVariable = 123; //(O)
var thisIsVarient = 456; //(X)
- 함수는 함수 선언문으로 작성한다.
- 중괄호 방식은 Stroustrup 방식을 사용한다.
//(O)
function func() {
}
if (x === 1) {
}
else {
}
//(X)
const func = function()
{
}
if (x === 1)
{
} else {
}
- 표현식이 1줄로 끝나는 블록은 중괄호를 생략할 수 있다.
//(O)
if (age <= 25) console.log("Hello!");
- 문자열은 큰따옴표를 사용한다.
- 템플릿 리터럴의 사용을 허가한다.
const str = "This is correct!"; //(O)
const str2 = `This is ${1+2}!`; //(O)
const str3 = 'This is incorrect!'; //(X)
- 반드시 세미콜론을 붙인다.
console.log("hello!"); //(O)
let obj = {
x: 123,
y: 456
}; //(O)
console.log("hello!") //(X)
let obj = {
x: 123,
y: 456
} //(X)
- 탭은 \t 1개로 사용한다. 스페이스바를 사용하지 않는다.
- 코드의 줄 수는 최대 120자로 제한한다.
- JSDoc은 강제하지 않는다.
- API 등 다른 팀원에게 보여줄 용도이거나 설명하기 복잡한 코드일 경우 사용은 가능하나, 강제하지 않도록 한다.
- ESLint의 템플릿 설정 사용시 룰을 제거해야 한다면 팀원과 상의 후 제거하도록 한다.
- Typescript를 사용한다.