[아티클 프로젝트 013] clean-code-javascript
clean-code-javascript
변수
-
의미있고 발음이 쉬운 변수
-
이해가 필요한 값은 변수로 등록
-
86400000->MILLISECONDS_IN_A_DAY 변수로 등록
-
-
의도를 나타내는 변수 사용
-
나만 알아볼 수 있는 작명하지말 것
-
반복문의 n, l, k 등..
-
-
객체 키 값에 중복되는(필요없는) 네이밍 사용 금지
-
car = { carMake : '' };
-
-
매개변수 기본 값 등록
함수
-
2개 이하의 인자 값
-
많아 질 경우 객체로 매개변수 전달하여 명확하게
-
-
함수는 하나의 행동만
-
매개변수를 조건 플래그로 사용하지 말 것
-
-
함수명만으로 행동을 알 수 있도록
-
중복코드, 안쓰는 코드 주의
-
object는 assign으로 기본 객체를 생성해 처리
-
사이드 이펙트 주의
-
전역 변수 주의 수정이 필요할 경우 새로운 변수로 생성
-
전역 함수 사용 금지
-
객체 수정 시 새로운 객체로 만들어 리턴
-
-
함수형 프로그래밍 지향
-
조건문 캡슐화
-
부정 조건문 사용 지양
조건문을 되도록 피하라
-
일관성있는 API
-
타입이 필요하면 타입스크립트
-
과도한 최적화 금지
객체, 자료구조
-
getter, setter 사용
-
private
-
프로토타입보단 클래스 사용
-
메소드 체이닝
-
return this
-
-
상속보다는 조합
-
상속 시 같은 타입인지, 상속이 맞는지 체크
-
-
단일책임원칙
-
개방/폐쇄 원칙
-
리스코프 치환 원칙
-
인터페이스 분리 원칙
-
의존성 역전 원칙
-
테스트
-
동시성
-
callback 지양, promise
-
es2017/es8에서는 async와 await
-
-
에러처리, 단순히 log를 찍지 말고 처리를 해라(promise도 마찬가지)
-
포맷(일관된 컨벤션)
-
함수 호출자, 피호출자는 가깝게
-
책 읽듯 흐름에 따라
-
주석
-
로직이 복잡한 곳만 사용
-
주석으로 버전관리하지말 것
-
주석으로 된 코드 삭제
-
코드 위치 설명하지 말 것
-
===============액션 영역==============
-
원본