코딩 컨벤션은 읽고, 관리하기 쉬운 코드를 작성하기 위한 일종의 코딩 스타일 규약이다. 코딩 컨벤션을 준수하면 가독성이 좋아지고, 성능에 영향을 주거나 오류를 발생시키는 잠재적 위험 요소를 줄여준다. 특히 규모가 큰 프로젝트일수록 유지보수 비용을 줄이는 데 도움이 된다. (참조링크:https://ui.toast.com/fe-guide/ko_CODING-CONVENTION)
//상수는 영문 대문자 스네이크 표기법(Snake case)를 사용.
const CAR_NUMBER=10;
//생성자는 대문자 카멜 케이스을 사용한다.
class ConstructorName {
...
};
// 숫자, 문자, 불린
let dog;
let variableName;
// 배열 - 배열은 복수형 이름을 사용
const dogs = [];
// 정규표현식 - 정규표현식은 'r'로 시작
const rDesc = /.*/;
// 함수
function getPropertyName() {
...
}
// 이벤트 핸들러 - 이벤트 핸들러는 'on'으로 시작
const onClick = () => {};
const onKeyDown = () => {};
// 불린 반환 함수 - 반환 값이 불린인 함수는 'is'로 시작
let isAvailable = false;
const len = items.length;
let i;
// Bad
for (i = 0; i < len; i++) {
itemsCopy[i] = items[i];
}
// Good
const itemsCopy = [...items];
// Bad - 개행
const obj = {foo: 'a', bar: 'b'}
// Good
const obj = {foo: 'a'};
// Good
const obj = {
foo: 'a'
};
//객체 리터럴 정의 시 콜론 앞은 공백을 허용하지 않으며 콜론 뒤는 항상 공백을 강제한다.
// Bad
var obj = {
foo : 'a'
}
// Good
var obj = {
foo: 'a'
}
// Bad
class MyClass {
foo() {
//...
}
bar() {
//...
}
}
// Good
class MyClass {
foo() {
//...
}
bar() {
//...
}
}
오브젝트에서 필요한 값만을 추출하여 변수에 할당하는 방법은 직관적이며 코드를 이해하기 쉬어진다.
// Bad
function getFullName(user) {
const firstName = user.firstName;
const lastName = user.lastName;
return `${firstName} ${lastName}`;
}
// Bad
const first = arr[0];
const second = arr[1];
// Good
function getFullName(obj) {
const {firstName, lastName} = obj;
return `${firstName} ${lastName}`;
}
// Good
const [first, second] = arr;
// Good
function getFullName({firstName, lastName}) {
return `${firstName} ${lastName}`;
}