추상화
- 추상화란 핵심적인 개념 또는 공통적인 기능을 추출하는 것
- 코드 추상화 이유
- 언어의 예약어(키워드)와 겹치면 안된다.
Magic Number
const COMMON_DELAY_MS = 3 * 60 * 1000;
setTimeout(() => {
scrollToTop();
}, COMMON_DELAY_MS)
- Numeric operator 이용하여 숫자 표기하기
const PRICE = {
MIN:1_000_000,
MAX: 100_000_000,
}
console.log(PRICE);
getRandomPrice(PRICE.MIN, PRICE.MAX)
const CAR_NAME_LENGTH = Object.freeze({
MIN: 1,
MAX: 5,
});
function isValidName(name) {
return carName.length >= CAR_NAME_LENGTH.MIN && carName.length <= CAR_NAME_LENGTH.MAX;
}
function notValidName (value) {
if(!isArrayItemLengthRange(names, CAR_NAME_LENGTH.MIN, CAR_NAME_LEGTH.MAX) {
alert(`자동차 이름은 ${CAR_NAME_LEGTH.MIN}자에서 ${CAR_NAME_LEGTH.MAX}자까지 입력할 수 있습니다.`);
}
}
네이밍 컨벤션
- 저장소, 폴더, 파일, 함수, 변수, 상수, 깃 브랜치, 커밋 등 프로그래밍 전반적으로 이름 네이밍을 위한 규칙이나 관습을 만드는
- 팀이나 개인의 차원에 따라 다를 수 있으며 특히 개인적인 견해와 해석에 따라 다를 수 있다.
- 기준을 설정할 때 기본적인 논리와 이유가 있어야한다.
- 대표 케이스
- calmelCase
- PascalCase
- kebab-case
- SNAKE_CASE
- 접두사, 접미사
- data-id, data-name
- AppContainer, BoxContainer
- ICar, TCar
- AType, BType
- 동사~* ⇒ 함수는 대부분 동사로 시작
- _ , # ⇒ private