반응형
최종 프로젝트를 진행하면서 code convention을 정리했는데 다른 프로젝트에서도 사용하기 좋아서
정리해보았다
- 컴포넌트 파일은 파스칼 케이스로 작성
e.g) ComponentsTest.tsx
- 페이지명은
indexPage.ts
(끝에 Page명 표기) - 일반 .ts 파일은 케밥 케이스로 작성 (ex. common.ts, date-helper.ts)
- app 폴더 하위 페이지 파일 이름은 케밥 케이스로 작성
컴포넌트 & 분리
rafce
스니펫 사용
const Component () => {
return <></>
}
export default Component;파일 이름
폴더 트리
project-root/
|📂 src/
| |📂 assets
| |📂 app
| | |📄 layout.tsx
| | |📄 not-found.tsx
| | |📄 page.tsx
| | |📂 login/
| | | |📄 page.tsx
| |📂 components/
| | |📂 layout/
| | | |📄 Header.tsx
| | | |📄 Content.tsx
| |📂 types/
| | |📄 common.d.ts
| | |📄 supabase.d.ts
변수명 & 함수명
변수명
- 예약어는
const
로만 필요 시let
- 상수 (not, const, 하드코딩 값)는 모두 대문자로 작성하되, 단어 구분 필요 시
_
로 작성e.g) MAX_COUNT = 20
- Boolean 타입에 관해서는 접두사
‘is’
사용
함수명 - 함수는 단일 책임 원칙 (only 기능 1개)
- 모든 함수 이름은 동사형으로 작성 (카멜 케이스)
e.g) addComment, checkIsDone
- CRUD
- create: 접두사 add
e.g) addCart...
- read: 접두사 fetch
e.g) fetchData ...
- update: 접두사 update
e.g) updateCart ...
- delete:
e.g) reomveCart ...
- create: 접두사 add
- Handler
e.g) clickCartHandler ...
- click기능명Handler
- React Query (Custom Hook) - 튜터님 찬스 필요
- removeCartMutation = useMutaiton()…
return { remove: removeCartMutation.mutate }
- removeCartMutation = useMutaiton()…
Custom Hooks
- hooks > user(폴더 - 페이지명) > useAuth(회원가입, 로그인 등등), useInput, useVaildate(파일)
- 폴더 → 페이지명, 파일 → use기능명
- 더불어, 전역적으로 사용되는 Hook일 경우
common
폴더로 분리합니다.
반응형
'Etc' 카테고리의 다른 글
[VSCode] .eslintrc.json 설정 (0) | 2024.01.08 |
---|---|
[VSCode] .tsconfig.json 설정 (0) | 2024.01.08 |
[VSCode] .prettierrc 설정 (0) | 2024.01.08 |
[Etc] 메타 태그와 오픈그래프 (0) | 2023.11.29 |
[Linux] 필수 리눅스 명령어 정리 (0) | 2023.11.27 |
반응형
최종 프로젝트를 진행하면서 code convention을 정리했는데 다른 프로젝트에서도 사용하기 좋아서
정리해보았다
- 컴포넌트 파일은 파스칼 케이스로 작성
e.g) ComponentsTest.tsx
- 페이지명은
indexPage.ts
(끝에 Page명 표기) - 일반 .ts 파일은 케밥 케이스로 작성 (ex. common.ts, date-helper.ts)
- app 폴더 하위 페이지 파일 이름은 케밥 케이스로 작성
컴포넌트 & 분리
rafce
스니펫 사용
const Component () => {
return <></>
}
export default Component;파일 이름
폴더 트리
project-root/
|📂 src/
| |📂 assets
| |📂 app
| | |📄 layout.tsx
| | |📄 not-found.tsx
| | |📄 page.tsx
| | |📂 login/
| | | |📄 page.tsx
| |📂 components/
| | |📂 layout/
| | | |📄 Header.tsx
| | | |📄 Content.tsx
| |📂 types/
| | |📄 common.d.ts
| | |📄 supabase.d.ts
변수명 & 함수명
변수명
- 예약어는
const
로만 필요 시let
- 상수 (not, const, 하드코딩 값)는 모두 대문자로 작성하되, 단어 구분 필요 시
_
로 작성e.g) MAX_COUNT = 20
- Boolean 타입에 관해서는 접두사
‘is’
사용
함수명 - 함수는 단일 책임 원칙 (only 기능 1개)
- 모든 함수 이름은 동사형으로 작성 (카멜 케이스)
e.g) addComment, checkIsDone
- CRUD
- create: 접두사 add
e.g) addCart...
- read: 접두사 fetch
e.g) fetchData ...
- update: 접두사 update
e.g) updateCart ...
- delete:
e.g) reomveCart ...
- create: 접두사 add
- Handler
e.g) clickCartHandler ...
- click기능명Handler
- React Query (Custom Hook) - 튜터님 찬스 필요
- removeCartMutation = useMutaiton()…
return { remove: removeCartMutation.mutate }
- removeCartMutation = useMutaiton()…
Custom Hooks
- hooks > user(폴더 - 페이지명) > useAuth(회원가입, 로그인 등등), useInput, useVaildate(파일)
- 폴더 → 페이지명, 파일 → use기능명
- 더불어, 전역적으로 사용되는 Hook일 경우
common
폴더로 분리합니다.
반응형
'Etc' 카테고리의 다른 글
[VSCode] .eslintrc.json 설정 (0) | 2024.01.08 |
---|---|
[VSCode] .tsconfig.json 설정 (0) | 2024.01.08 |
[VSCode] .prettierrc 설정 (0) | 2024.01.08 |
[Etc] 메타 태그와 오픈그래프 (0) | 2023.11.29 |
[Linux] 필수 리눅스 명령어 정리 (0) | 2023.11.27 |