-
Notifications
You must be signed in to change notification settings - Fork 0
Convention
-
ํ์ดํ ํจ์๊ฐ ์๋ ์ผ๋ฐ ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
-
ํ์ผ ์ด๋ฆ, ์ธํฐํ์ด์ค, ํ์ , ์ปดํฌ๋ํธ ๋ช ํ์ค์นผ ์ผ์ด์ค๋ฅผ ์ฌ์ฉํ๋ค.
ex) interface IHomeProps -
์ปดํฌ๋ํธ props ํ์ ์ ์ธ ์
<์ปดํฌ๋ํธ๋ช >Props์ ๊ฐ์ ํํ๋ก ์์ฑํ๋ค. -
๋๋ ํ ๋ฆฌ ๋ช , ๋ณ์๋ ์นด๋ฉ ์ผ์ด์ค๋ฅผ ์ฌ์ฉํ๋ค.
ex) let pinocoGame = "pinoco" -
์ด๋ฒคํธ ํธ๋ค๋ฌ props์๋
on์ ๋์ฌ๋ฅผ ๋ถ์ด๊ณ , ๊ฐ์ผ๋ก ๋๊ธธ ๋์๋handle์ ๋์ฌ๋ฅผ ๋ถ์ธ๋ค. -
ํจ์ ๋ช ์ ๋์ฌ ๋ค์ ๋ช ์ฌ๊ฐ ์ค๋๋ก ์กฐํฉํ๊ณ
์นด๋ฉ ์ผ์ด์ค๋ก ์์ฑํ๋ค. -
export ์ฌ์ฉ ์
named exports๋ฐฉ์์ ์ฌ์ฉํ๋ค. -
boolean ํ์ ๋ณ์ ๋ฐ ํจ์์๋ ์ ๋์ฌ
is๋ฅผ ์ฌ์ฉํ๋ค. (ex. isChecked) -
forEach, map, some, every๋ฑ์ ๊ณ ์ฐจ ํจ์๋ฅผ ์งํฅํ๋ค. -
const๋ฅผ ๊ธฐ๋ณธ ๊ฐ์ผ๋ก ํ๊ณ , ๊ฐ์ด ๋ณ๊ฒฝ์ด ํ์ํ ๋๋งlet์ ์ด๋ค -
์์ ๊ฐ๋ค์ ํํํ๋ ๋ณ์๋
enum์ผ๋ก ์ ์ธํ์ฌ ์ฌ์ฉํ๋ค. -
type vs interface โ
interface๋ก ํต์ผํ์ฌ ์ฌ์ฉํ๋ค. -
interface ์ ์ธ ์ ์ด๋ฆ ์์
I๋ฅผ ๋ถ์ธ๋ค. -
eslint์ prettier๋ก ์ ์ฉํ ์ ์๋ ๊ฒ
์์ ์ธ๊ธํ์ ๋๋ถ๋ถ์ ์ฝ๋ ์ปจ๋ฒค์ ๊ท์น์ ESLint์ Prettier์์ ์ค์ ๊ฐ๋ฅํ์ง๋ง, ์ผ๋ถ ๊ท์น์ ์ง์ ์ ์ธ ์ค์ ์ด ๋ถ๊ฐ๋ฅํด ์ถ๊ฐ์ ์ธ ๊ท์น์ ์ ์ํด์ผ ํ ์๋ ์์ต๋๋ค.
-
ํ์ดํ ํจ์๊ฐ ์๋ ์ผ๋ฐ ํจ์ ์ฌ์ฉ:
@typescript-eslint/explicit-function-return-type๋ฑ์ ๋ฃฐ๋ก ํจ์ ํ์ ์ ๊ฐ์ ํ ์ ์์ง๋ง, ์ผ๋ฐ ํจ์๋ง ์ฌ์ฉํ๋๋ก ์ ํํ๋ ๊ท์น์ ๊ธฐ๋ณธ ์ ๊ณต๋์ง ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์ฝ๋ ๋ฆฌ๋ทฐ ๋จ๊ณ์์ ์ ๊ฒํ๊ฑฐ๋ ESLint ์ปค์คํ ํ๋ฌ๊ทธ์ธ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. -
์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ฐ ํจ์ ๋ค์ด๋ฐ (
on์ ๋์ฌ,handle์ ๋์ฌ): ESLint ๊ธฐ๋ณธ ํ๋ฌ๊ทธ์ธ์๋ ์์ง๋ง,@typescript-eslint/naming-convention๋ฃฐ์ ์ด์ฉํด ํจ์ ๋ค์ด๋ฐ ์ปจ๋ฒค์ ์ ์ผ๋ถ ์ ์ฉํ ์ ์์ต๋๋ค. -
์นด๋ฉ ์ผ์ด์ค์ ํ์ค์นผ ์ผ์ด์ค ๊ท์น:
@typescript-eslint/naming-convention์์ ์ธํฐํ์ด์ค, ๋ณ์๋ช , ํ์ ๋ฑ์ ๋ค์ด๋ฐ์ ์ค์ ํ ์ ์์ต๋๋ค. -
Boolean ํ์
๋ณ์ ์ ๋์ฌ (
is):@typescript-eslint/naming-convention๋ฃฐ์์ ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค. -
ํจ์ ์ด๋ฆ ๋ค์ด๋ฐ:
@typescript-eslint/naming-convention์ ํตํด ํจ์๊ฐ ์นด๋ฉ ์ผ์ด์ค๋ก ์์ฑ๋๋๋ก ๊ท์น์ ์ค์ ํ ์ ์์ต๋๋ค. -
forEach,map๋ฑ์ ๊ณ ์ฐจ ํจ์ ์งํฅ:no-loops๋array-callback-return๋ฑ์ ๊ท์น์ ์ฌ์ฉํ๋ฉด ๊ณ ์ฐจ ํจ์ ์ฌ์ฉ์ ๊ถ์ฅํ๊ณ ์ผ๋ฐ ๋ฃจํ๋ฅผ ๊ฒฝ๊ณ ํ ์ ์์ต๋๋ค. -
const์ฐ์ ์ฌ์ฉ:prefer-const๊ท์น์ผ๋กconst์ฌ์ฉ์ ๊ธฐ๋ณธ์ผ๋ก ํ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. -
Named exports ๋ฐฉ์:
import/no-default-export๋ฃฐ๋ก ๊ธฐ๋ณธ export๋ฅผ ์ ํํ๊ณ named exports๋ฅผ ๊ถ์ฅํ ์ ์์ต๋๋ค. -
ํ์
์ ์ธ ์ interface ์ฌ์ฉ:
consistent-type-definitions๋ฃฐ์ ํตํดinterface์ฌ์ฉ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
-
<์ปดํฌ๋ํธ๋ช >Propsํํ์ props ํ์ ์ ์ธ: ์ง์ ์ ์ผ๋ก ์ ์ฉํ ๊ท์น์ ์์ผ๋ฏ๋ก, ์ด ๋ถ๋ถ์ ์ฝ๋ ๋ฆฌ๋ทฐ๋ก ์ ๊ฒํด์ผ ํฉ๋๋ค. -
์์ ํํ์ ์ํ
enum์ฌ์ฉ: ESLint์์๋ ์ด์ ๊ด๋ จ๋ ๊ท์น์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ์ง ์์ต๋๋ค. ์ง์ ์ ์ธ ์ ํ์ด ์์ผ๋ฏ๋ก, ์ฝ๋ ๋ฆฌ๋ทฐ๋ TSLint๋ฅผ ํ์ฉํด์ผ ํฉ๋๋ค.
์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ESLint ์ค์ ํ์ผ์ ์์ฑํ ์ ์์ผ๋ฉฐ, ์ผ๋ถ ๊ท์น์ ์ถ๊ฐ์ ์ธ ์ฝ๋ ๊ฒํ ๊ณผ์ ์์ ๋ณด์ํด์ผ ํฉ๋๋ค. Prettier๋ ์ฝ๋ ํฌ๋งทํ ๊ท์น์ ์ค์ ์ ๋๊ณ ์์ผ๋ฏ๋ก ์ฃผ๋ก ๋ค์ฌ์ฐ๊ธฐ, ๊ณต๋ฐฑ, ๋ผ์ธ ๊ธธ์ด ๋ฑ์ ๊ท์น์ ์ค์ ํ ์ ์์ต๋๋ค.
-
ํ์ดํ ํจ์๊ฐ ์๋ ์ผ๋ฐ ํจ์ ์ฌ์ฉ:
<ํ์
>: <์ ๋ชฉ>
ex) feat: ์๊ณผ ์ผ์ ์ซ์๋ฅผ ๋์๋ฆฌ๋ก ๋ง์ถฐ์ฃผ๋ ๊ธฐ๋ฅ
-
feat: ๊ธฐ๋ฅ (์๋ก์ด ๊ธฐ๋ฅ) -
fix: ๋ฒ๊ทธ (๋ฒ๊ทธ ์์ ) -
refactor: ๋ฆฌํฉํ ๋ง (๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์ด ์ฝ๋ ํฅ์) -
style: ์คํ์ผ (ํฌ๋งทํ , ๋น์ฆ๋์ค ๋ก์ง์ ๋ณ๊ฒฝ ์์) -
design: UI ํผ๋ธ๋ฆฌ์ฑ -
docs: ๋ฌธ์ (๋ฌธ์ ์ถ๊ฐ, ์์ , ์ญ์ ) -
test: ํ ์คํธ (ํ ์คํธ ์ฝ๋ ์ถ๊ฐ, ์์ , ์ญ์ : ๋น์ฆ๋์ค ๋ก์ง์ ๋ณ๊ฒฝ ์์) -
chore: ์ค์ ๊ด๋ จ ๋ณ๊ฒฝ์ฌํญ (๋น๋ ์คํฌ๋ฆฝํธ ์์ , package.json ๋ฑ), ๊ธฐํ ๋ฑ๋ฑ
## PR ์ ๋ชฉ ์์ : ์ปค๋ฐ ๋ฉ์ธ์ง ํ์
<-- ex) **[Fix] ์ ์ถ๋ฒํผ์ ๋๋ฅด์ง ์์ผ๋ฉด ๋ค์ ๋ผ์ด๋๋ก ๋์ด๊ฐ์ง ์๋ ๋ฒ๊ทธ ์์ -->
##** PR ๋ผ๋ฒจ : ํ์
, ์ค์๋(important)
## assignee ๋ณธ์ธ ํ๊ทธ ํ์
## ๊ฐ์
<!---- ๋ณ๊ฒฝ ์ฌํญ ๋ฐ ๊ด๋ จ ์ด์์ ๋ํด ๊ฐ๋จํ๊ฒ ์์ฑํด์ฃผ์ธ์. ์ด๋ป๊ฒ๋ณด๋ค ๋ฌด์์ ์ ์์ ํ๋์ง ์ค๋ช
ํด์ฃผ์ธ์. -->
<!---- Resolves: #(Isuue Number) -->
## PR ์ ํ
์ด๋ค ๋ณ๊ฒฝ ์ฌํญ์ด ์๋์?
- [ ] ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ
- [ ] ๋ฒ๊ทธ ์์
- [ ] CSS ๋ฑ ์ฌ์ฉ์ UI ๋์์ธ ๋ณ๊ฒฝ
- [ ] ์ฝ๋์ ์ํฅ์ ์ฃผ์ง ์๋ ๋ณ๊ฒฝ์ฌํญ(์คํ ์์ , ํญ ์ฌ์ด์ฆ ๋ณ๊ฒฝ, ๋ณ์๋ช
๋ณ๊ฒฝ)
- [ ] ์ฝ๋ ๋ฆฌํฉํ ๋ง
- [ ] ์ฃผ์ ์ถ๊ฐ ๋ฐ ์์
- [ ] ๋ฌธ์ ์์
- [ ] ํ
์คํธ ์ถ๊ฐ, ํ
์คํธ ๋ฆฌํฉํ ๋ง
- [ ] ๋น๋ ๋ถ๋ถ ํน์ ํจํค์ง ๋งค๋์ ์์
- [ ] ํ์ผ ํน์ ํด๋๋ช
์์
- [ ] ํ์ผ ํน์ ํด๋ ์ญ์
## ์์
๋ด์ฉ
<!-- ์์
์ฌํญ์ ๋ํ ์ค๋ช
์ ์ ์ด์ฃผ์ธ์ -->
## ์คํฌ๋ฆฐ์ท
<!-- ์์
๋ฌผ์ ๋ํ ์คํฌ๋ฆฐ์ท์ ์ฒจ๋ถํด์ฃผ์ธ์ -->
## ๊ณต์ ์ฌํญ to ๋ฆฌ๋ทฐ์ด
<!-- ๋ฆฌ๋ทฐ์ด๊ฐ ์ค์ ์ ์ผ๋ก ๋ด์ฃผ์์ผ๋ฉด ์ข๊ฒ ๋ ๋ถ๋ถ์ ์ ์ด์ฃผ์ธ์ -->
<!-- ๋
ผ์ํ ์ฌํญ์ด ์๋ค๋ฉด ์ ์ด์ฃผ์ธ์ -->
## PR Checklist
PR์ด ๋ค์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋์ง ํ์ธํ์ธ์.
- [ ] ์ปค๋ฐ ๋ฉ์์ง ์ปจ๋ฒค์
์ ๋ง๊ฒ ์์ฑํ์ต๋๋ค. Commit message convention ์ฐธ๊ณ (Ctrl + ํด๋ฆญํ์ธ์.)
- [ ] ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ํ
์คํธ๋ฅผ ํ์ต๋๋ค.(๋ฒ๊ทธ ์์ /๊ธฐ๋ฅ์ ๋ํ ํ
์คํธ).---
category: "โจ Feature Template"
about: ๊ธฐ๋ฅ ์ถ๊ฐ ์ด์ ํ
ํ๋ฆฟ
title: ''
labels: ''
assignees: ''
---
## ์ด๋ค ๊ธฐ๋ฅ์ธ๊ฐ์?
> ์ถ๊ฐํ๋ ค๋ ๊ธฐ๋ฅ์ ๋ํด ๊ฐ๊ฒฐํ๊ฒ ์ค๋ช
ํด์ฃผ์ธ์
## ์์
์์ธ ๋ด์ฉ
- [ ] TODO
- [ ] TODO
- [ ] TODO
## ์ฐธ๊ณ ํ ๋งํ ์๋ฃ(์ ํ)---
category: "\U0001F41B Bug Report Template"
about: ๋ฒ๊ทธ ๋ฆฌํฌํธ ์ด์ ํ
ํ๋ฆฟ
title: ''
labels: ''
assignees: ''
---
## ์ด๋ค ๋ฒ๊ทธ์ธ๊ฐ์?
> ์ด๋ค ๋ฒ๊ทธ์ธ์ง ๊ฐ๊ฒฐํ๊ฒ ์ค๋ช
ํด์ฃผ์ธ์
## ์ด๋ค ์ํฉ์์ ๋ฐ์ํ ๋ฒ๊ทธ์ธ๊ฐ์?
> (๊ฐ๋ฅํ๋ฉด) Given-When-Then ํ์์ผ๋ก ์์ ํด์ฃผ์ธ์
## ์์ ๊ฒฐ๊ณผ
> ์์ํ๋ ์ ์์ ์ธ ๊ฒฐ๊ณผ๊ฐ ์ด๋ค ๊ฒ์ด์๋์ง ์ค๋ช
ํด์ฃผ์ธ์
## ์ฐธ๊ณ ํ ๋งํ ์๋ฃ(์ ํ)---
category: "โ
Etc Template"
about: ๊ธฐํ ์์ ์์ ํ
ํ๋ฆฟ
title: ''
labels: ''
assignees: ''
---
## (์ ๋ชฉ)
### (ํ์ด์ง)
- [ ] ๊ตฌํ๋ด์ฉ1
- [ ] ๊ตฌํ๋ด์ฉ2- ๐ ํ ๋ ธ์
- ๐คฅ ํ๋ก์ ํธ ์๊ฐ
- ๐ฏ ๊ฒ์ ๋ฉ๋ด์ผ
- ๐จ ํผ๊ทธ๋ง
- ๐ข ํ์ ๊ธฐ๋ก
- ๐ ์คํฌ๋ผ ๊ธฐ๋ก
- ๐ ๊ทธ๋ผ์ด๋ ๋ฃฐ
- ๐ฃ๏ธ ์ปจ๋ฒค์