-
Notifications
You must be signed in to change notification settings - Fork 0
코드 컨벤션
jhyep edited this page Aug 4, 2023
·
1 revision
- 코드는 최대한 명령형이 아닌 선언형으로 작성한다.
-
var
합당한 이유 없이 절대 금지 -
const
를 기본 키워드로 사용하고 재할당이 필요할 시let
사용 - 조건판단
- 부정조건문 금지
- 3개 이상일 경우, 변수로 할당
- 2개의 경우, 알아보기 힘든 경우에 변수로 할당
- early return 사용
동일한 유형의 변수는 동일한 단어를 사용
- 변수 : camel case
- 상수 : 대문자 + snake case
//변수
const value = 1;
//상수
const COLOR_VALUE = "#000";
//조건 판단
const isSameAll = a === b && b === c && c === d;
if (isSameAll) {
return true;
}
- 카멜케이스
- 동사 + 명사(optional)
- 생략보다는 풀네임으로
- 3개 미만의 경우 일반 파라미터 전달
- 3개 이상부터 객체 구조분해 할당으로 파라미터 전달
- spread 연산자 사용시 → 유연하게 대처 (어려우면 팀원들과 논의하기)
-
function
키워드를 사용 - 익명 함수의 경우 에로우 함수 사용
function add(a, b) {}
function add(a, b, ...numbers) {}
function add({ a, b, c }) {}
- 파스칼케이스 사용
- 항상 객체로 넘김
- 객체를 나타낼 때에는
Interface
사용 - 네이밍의 경우 파스칼케이스 사용 (
I
접두사 금지) - enum의 경우, 내부 상수는 CONSTANT_CASE
- 명사형 혹은 명사형 구문으로 작성(
UserProps
,UserGenerator
)
- 함수 파라미터, 함수 반환값, 객체나 특정 값만 설정
- 컴포넌트의 경우 Props 타입을 생성 ex) CarProps
type CarName = string;
type CarType = "르블랑" | "팰리세이드";
type Car = {
};
type KiaCar= Car & {
};
interface Car {
brand: string;
};
interface Car {
price: number;
};
Car = {
brand: string;
price: number;
}
interface HyundaiCar extends Car {
};
- FE - 나도 오픈소스 개발자? (NPM 배포기)
- FE - 합성 컴포넌트에 스토리북 한 스푼 🥄
- FE - Tailwind CSS 찐하게 사용해보기
- AOS - 안드로이드 네트워크 연결
- AOS - API 요청에 따른 동적 탭 생성
- AOS - 나도 오픈소스 개발자? (jitpack 배포기)
- AOS - 폭죽 애니메이션
- AOS - 가이드 모드 애니메이션
- AOS - 뷰모델과 애니메이션을 같이 사용했을때의 ISSUE
- BE - 무중단 배포에 대해 알아보자!
- BE - 더 무중단스러운 배포를 위한 graceful shutdown
- BE - 쿼리 최적화에 대해 알아보자!
- BE - 실전, 쿼리 가속도 업!