-
Notifications
You must be signed in to change notification settings - Fork 2
Code Convention
Pildrum edited this page Nov 30, 2023
·
4 revisions
- 함수 컴포넌트는 일반 함수형을 사용한다.
function Component(){
return <div></div>
}
export default Component;
- 코드 충돌을 방지하기 위해 세미콜론은 반드시 표기한다.
- 따옴표는 큰 따옴표를 사용한다.
- 위 내용들은 prettier 설정을 통해서 저장 시 자동으로 적용한다.
- 이벤트 함수 및 기타 함수는 화살표 함수를 사용한다.
- 이벤트 함수의 접두사는 on을 사용한다.
const onClick => () => {};
- 페이지 컴포넌트는 /app 안에 작성한다.
- 페이지 이름으로 폴더를 작성하고 내부에 page.tsx를 만들어서 작업한다.
- 컴포넌트 폴더는 /components에 작성한다.
- 컴포넌트 이외의 커스텀 hook이나 api는 /lib에서 작성한다.
- 상수는 const 구문을 사용한다.
const name = "";
- let 구문을 사용하며, var 구문은 사용하지 않는다.
let count = 0; //(O)
var count = 0; //(X)
- 정규식을 선언할 때는 변수명 앞에 소문자 r을 사용한다.
const rValid = /\;
- 개발자가 코드 작성 시 변수값을 수정하면 안되는 변수명은 대문자로 쓴다.
const API_KEY = "";
- interface와 type을 선언할 때 이름은 컴포넌트의 이름을 쓰되, 이름 뒤에 확실히 어떤 용도인지 명시한다.
interface ComponentProps {}; //(O)
interface Component {}; //(X)
// or
type ComponentProps = {}; //(O)
type Component = {}; // (X)
- interface와 type은 import 구문과 함수 컴포넌트 사이에 작성한다.
import { useState } from 'react';
interface ComponentProps {};
function Component({}: ComponentProps) {
return <button>버튼</button>
}
export default Component;
- [컴포넌트 파일명].module.scss로 작성한다.
- 해당 컴포넌트가 있는 디렉토리 안에 scss 파일을 작성한다.
- BEM 방식은 따로 사용하지 않는다.
- 위 내용 외에 협의하지 못한 convention은 협의 하에 추가한다.
- 개발이 끝났을 경우, 불필요한 변수나 기타 함수들은 master 브랜치에 merge한다.
- 코드 중에 수정사항의 경우를 제외하고 push하기 전에 주석처리를 빼고 push를 한다.