๐ท๏ธ ๋ค์ด๋ฐ ์ปจ๋ฒค์ โ
๋ฉ์๋ณผ ํ์์๋ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์ ํจ์จ์ฑ์ ์ต์ฐ์ ์ผ๋ก ํ์ฌ ์๋์ ๊ฐ์ ๋ค์ด๋ฐ ๊ท์น์ ๋ฐ๋ฆ ๋๋ค.
1๏ธโฃ ์ปดํฌ๋ํธ ๋ช ๋ช ๋ฒ โ
- PascalCase ์ฌ์ฉ (์:
UserProfile
,MatchCard
) - ์ด์ : React, Vue ๋ฑ ์ฃผ์ ํ๋ ์์ํฌ์์ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ฝ๊ณ , JSX/TSX์์ HTML ํ๊ทธ์ ๋ช ํํ ๊ตฌ๋ถ๋์ด ๊ฐ๋ ์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค.
2๏ธโฃ ํด๋๋ช โ
- ์ผ๋ฐฅ ์ผ์ด์ค(kebab-case) ์ฌ์ฉ (์:
user-profile
,match-card
) - ์ด์ : OS ํ์ผ ์์คํ ๊ณผ URL ๊ฒฝ๋ก ๋ชจ๋์์ ํ์ค์ ์ผ๋ก ๋๋ฆฌ ์ฐ์ด๋ฉฐ, ๊ณต๋ฐฑ ๋์ ํ์ดํ์ ์ฐ๋ ์ผ๋ฐฅ ์ผ์ด์ค๋ ์ง๊ด์ ์ด๊ณ ์ฝ๊ธฐ ํธํฉ๋๋ค. ๋ํ, ๋์๋ฌธ์ ๊ตฌ๋ถ์ ๋ฐ๋ฅธ ํผ๋๋ ์ค์ฌ์ฃผ๊ณ , ํฐ๋ฏธ๋์ด๋ ๋ช ๋ น์ด ์ ๋ ฅ ์ ์คํ ๊ฐ๋ฅ์ฑ์ ์ค์ ๋๋ค.
3๏ธโฃ ํ์ผ๋ช (์ปดํฌ๋ํธ ์ ์ธ) โ
- ์ผ๋ฐฅ ์ผ์ด์ค(kebab-case) ์ฌ์ฉ (์:
api-client.ts
,user-service.ts
) - ์ด์ : ํด๋๋ช ๊ณผ ๋์ผํ ์ด์ ๋ก, ์ฌ๋ฌ ํ๋ซํผ์์ ์ผ๊ด๋ ํ๊ธฐ์ ํธํ ์ธ์์ด ๊ฐ๋ฅํ๋ฉฐ, ํนํ ์๋์ฐ, ๋งฅ, ๋ฆฌ๋ ์ค ํ๊ฒฝ ๋ชจ๋์์ ํธํ์ด ์ข์ต๋๋ค.
4๏ธโฃ ๋ณ์, ํจ์๋ช โ
- camelCase ์ฌ์ฉ (์:
getUserData
,totalCount
) - ์ด์ : JavaScript์ TypeScript์ ํ์ค ์คํ์ผ์ด๋ฉฐ, ์๋ฌธ์๋ก ์์ํด ๋ณ์๋ฅผ ์ ์ธํจ์ผ๋ก์จ ๊ฐ๋ ์ฑ์ด ๋๊ณ ์ง๊ด์ ์ ๋๋ค.
5๏ธโฃ ํจ์ ํ๋ผ๋ฏธํฐ๋ช โ
- camelCase ์ฌ์ฉ
- ์ด์ : ๋ณ์๋ช ๊ณผ ๋์ผํ ๊ท์น์ ์ ์ฉํด ์ผ๊ด์ฑ์ ์ ์งํ๊ณ , ํจ์ ๋ด๋ถ์์์ ๊ฐ๋ ์ฑ์ ํฅ์์ํต๋๋ค.
6๏ธโฃ ์์๋ช โ
- BIG_SNAKE_CASE ์ฌ์ฉ (์:
MAX_USER_COUNT
,API_BASE_URL
) - ์ด์ : ์์์์ ๋ช ํํ๊ฒ ๊ตฌ๋ถํด์ฃผ์ด ์์ ํ๋ฉด ์ ๋๋ ๊ฐ์ด๋ผ๋ ์๋ฏธ๋ฅผ ์ง๊ด์ ์ผ๋ก ์ ๋ฌํ๊ณ , ๋ค๋ฅธ ๋ณ์์ ์ฝ๊ฒ ๊ตฌ๋ณ๋ฉ๋๋ค.
โจ ์ถ๊ฐ ์ค๋ช ๋ฐ ํจ๊ณผ โ
- ์ผ๋ฐฅ ์ผ์ด์ค๋ฅผ ํด๋ ๋ฐ ์ผ๋ฐ ํ์ผ๋ช ์ ์ ์ฉํ๋ ๊ฒ์ ์ค์ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ํ๊ฒฝ์์ ๊ฒฝ๋ก ํผ๋, ์คํ, ๋์๋ฌธ์ ๋ฌธ์ ๋ฅผ ํฌ๊ฒ ์ค์ฌ์ฃผ๋ฉฐ,
- ํนํ ํ์ ๊ณผ์ ์์ ๋๊ตฌ๋ ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก ํ์ผ์ ์ฐพ๊ณ ๊ด๋ฆฌํ ์ ์์ด ์ ์ง๋ณด์๊ฐ ์ฌ์์ง๋๋ค.
- ์ปดํฌ๋ํธ๋ UI ๋จ์๋ก ์ค์๋๊ฐ ๋์ ๊ฐ๋ ์ฑ๊ณผ ํ๋ ์์ํฌ ํ์ค์ ๋ง์ถ PascalCase๋ฅผ ์ฌ์ฉํด ์ฝ๊ฒ ๊ตฌ๋ถํ ์ ์๊ฒ ํ์์ต๋๋ค.
- ๋ณ์, ํจ์, ํ๋ผ๋ฏธํฐ๋ JavaScript ์ปค๋ฎค๋ํฐ์ ํ์ค์ธ camelCase๋ก, ์์ฐ์ค๋ฌ์ด ์ฝ๋ ํ๋ฆ์ ๋ง๋ค์ด ์ค๋๋ค.
- ์์๋ ๋๋ฌธ์ ์ค๋ค์ดํฌ ์ผ์ด์ค๋ก ํ์ํ์ฌ ๋ณ๊ฒฝํ์ง ์๋ ๊ฐ์์ ์ง๊ด์ ์ผ๋ก ์ ์ ์๊ฒ ํ์ฌ ์ค์๋ฅผ ๋ฐฉ์งํฉ๋๋ค.