-
Notifications
You must be signed in to change notification settings - Fork 5
Rules
Jinwan Kim edited this page May 17, 2023
·
7 revisions
const [value, setValue] = useState('');function foo(){
console.log('test');
}// Good
function someFunction() {
...
// statement에 관한 주석
statements
}a+b+c+d // bad
a + b + c + d // goodvar arr = [1,2,3,4]; //bad
var arr = [1, 2, 3, 4]; //goodimport App from './App';const App = () => {
return <div>App</div>
}const App = () => {
return <div>App</div>
}
export default App;
const StyledDiv = styled.div`
...styles
`// 외부 라이브러리 패키지
// 컴포넌트
// 스타일 관련 파일
const value = 1;
const getData = () => {};const RADIUS = 10;
const ERR_MSG = 'error message';const App = () => {
return <div>App</div>
}const StyledList = styled.li`
...styles
`;
const StyledWrapper = styled.div`
...styles
`;.card
.card__icon
.card__icon--red
.card-listBEM
1. 모두 소문자
2. 두단어의 조합은 대시로 연결
(O) "red-box"
(X) "redBox"
3. 자식 class name은 부모 class name 뒤에 언더바 **두개**를 붙인 후 시작한다.
(O) 부모 class name: "card" --> 자식 class name: "card__icon"
(X) 부모 class name: "card" --> 자식 class name: "card_icon"
(X) 부모 class name: "card" --> 자식 class name: "card icon"
4. 같은 컴포넌트지만 스타일링만 다를때는 대시 두개를 붙인다.
(O) "background" & "background--dark"
(X) "background" & "background dark"
src
┣ hooks
┃ ┗ customHooks.tssrc
┣ components
┃ ┗ components.tsxconst Card = ({ value, Component }) => {
return <div>
{ value }
<Component/>
</div>
}-
커밋 유형은 영어 소문자로 작성한다.
깃모지 커밋 유형 의미 :sparkles:feat 새로운 기능 추가 :bug:fix 버그 수정 :memo:docs 문서 수정 :lipstick:style 코드 formatting, 세미콜론 누락, 코드 자체의 변경이 없는 경우 :recycle:refactor 코드 리팩토링 :white_check_mark:test 테스트 코드, 리팩토링 테스트 코드 추가 :package:chore 패키지 매니저 수정, 그 외 기타 수정 ex) .gitignore :art:design CSS 등 사용자 UI 디자인 변경 :bulb:comment 필요한 주석 추가 및 변경 :truck:rename 파일 또는 폴더 명을 수정하거나 옮기는 작업만인 경우 :fire:remove 파일을 삭제하는 작업만 수행한 경우 :label:type 타입을 추가하거나 수정하는 경우 :tada:init 초기 세팅 및 초기화할 경우 :construction:wip 아직 진행 중인 작업이 있는 경우 -
깃모지를 이용하여 의미를 추가한다. ex) 🎉, 🐛, 🔥 ...
-
커밋 메시지는 한글로 작성하여 내용 전달을 쉽게 한다.
-
본문에는 변경 내용과 이유를 설명한다. (필요할 때)
-
제목의 끝에는 .을 붙이지 않는다.
-
본문에 여러 항목이 있다면, 글머리 기호를 통해 가독성을 높인다.
- 변경 내용1
- 변경 내용2
깃 브랜치는 다음과 같이 추가하고 사용한다.
# 개발 브랜치 fe-dev
git checkout fe-dev
# 작업 브랜치
git checkout -b fe-feat/home # 작업 브랜치 생성 후 이동
# push할 때
git push origin fe-feat/home # 이후 fe-dev에 pr을 보낸다.
# pr 시 충돌 발생
git checkout fe-dev
git pull origin fe-dev # 원격 저장소에 변경 사항 반영
git checkout fe-feat/home # 작업 브랜치로 이동
git merge fe-dev # 작업 브랜치에서 개발 브랜치 머지 이후 로컬에서 충돌 해결
git add . # 충돌 해결된 파일들 add
git commit -m ':bug: fix: 머지 충돌 해결' # 커밋 메시지 작성
git push origin fe-feat/home # 충돌 해결 후 push ( 자동으로 pr에 반영됨 )src
┣ asset
┣ constants
┣ types
┣ store
┣ components
┣ ┣ elements # html element 한 개를 담당하는 컴포넌트
┣ ┣ ui # 모달, 페이지네이션과 같은 ui를 담당하는 컴포넌트
┣ ┗ common # 공통으로 사용하는 컴포넌트
┣ data
┣ slice
┣ utils
┣ hooks
┣ layouts # 레이아웃 담당 컴포넌트 폴더 생성 후 작업
┣ pages # 페이지 담당 컴포넌트 폴더 생성 후 작업
┣ styles # 공통으로 사용하는 스타일드 컴포넌트
┣ App.tsx
┗ index.tsx