-
Notifications
You must be signed in to change notification settings - Fork 5
[FE] 코딩 컨벤션
JB0129 edited this page Aug 29, 2023
·
7 revisions
- 이벤트 함수 앞에는 handle을 붙입니다.
- 함수 이름은 함수의 기능을 나타내야합니다.
- 함수는 가장 작은 단위로, 재사용이 가능하며, 독립적으로 작성합니다.
const handleLogin = () => {
return setLogin(true);
}
- 기본 선언문은
const
를 사용하고, 사용이 불가능한 경우let
을 사용합니다. (var
를 사용하지 않습니다.)
종류 | 케이스 | 예시 |
---|---|---|
파일 / 컴포넌트 | 파스칼 케이스 |
PascalCase |
interface / type 별칭 / styled component | 파스칼 케이스 |
PascalCase |
폴더 / 함수명 / 변수명 및 그 외 | 카멜 케이스 |
camelCase |
환경 변수명 (.env) | 스네이크 케이스 |
SNAKE_CASE |
reducer | 변수명 앞에 'set' 붙이기 | setReducer |
- 주석으로 변수를 설명합니다.
- 타인이 알아볼 수 있도록 코드를 정리합니다. (항상 가독성을 생각합니다.)
- 직관적으로 이해하기 어려운 코드라고 판단되면 주석을 작성합니다.
const memberData = useSelector(state => state.member.memberInfo) // 유저의 페이지 정보를 가지고 있음.
const Main = () => {
return (
<div>이러한 형태의 컴포넌트로 작성하기!</div>
);
};
export default Main;
- 순서 : 내장 (ex. 'react') => 외부 (ex. 서드파티 노트 모듈) => 내부
예시) <br>
import React, { useState, useEffect, useCallback } from "react";
import { useSelector, useDispatch } from "react-redux";
import axios from 'axios';
import Typography from "@material-ui/core/Typography";
import Grid from "@material-ui/core/Grid";
import { DatePicker } from "@material-ui/pickers";
import { getServiceURL } from '../../utils/getServiceURL";
import { sectionTitleEnum } from "../../constants";
import CustomButton from "../components/CustomButton";
import Title from "../components/Title";
1. children이 불필요할 때 셀프 클로징 태그 사용하기
// 틀린 예시
<input></input>
// 올바른 예시
<input />
2. div가 불필요할 때는 fragment 사용하기
// 틀린 예시
const InfoText = () => {
return (
<h1>Welcome!</h1>
<p>This our new page, we're glad you're are here!</p>
)
}
// 올바른 예시
const InfoText = () => {
return (
<>
<h1>Welcome!</h1>
<p>This our new page, we're glad you're are here!</p>
</>
)
}