Skip to content

Naming Rule

์ด์˜์ฐฌ edited this page Oct 6, 2024 · 1 revision

1. ์ปดํฌ๋„ŒํŠธ

  • ์ปดํฌ๋„ŒํŠธ๋Š” PascalCase๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
  • ์ปดํฌ๋„ŒํŠธ์˜ ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ํ™•์žฅ์ž๋ฅผ .tsx๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
    • โœ… Login.tsx, ItemList.tsx
    • โŒ Login.ts, ItemList.jsx

2. ์ปค์Šคํ…€ ํ›…

  • ์ปค์Šคํ…€ ํ›…์€ ์ ‘๋‘์‚ฌ๋กœ ๋ฐ˜๋“œ์‹œ use๋ฅผ ๋ถ™์—ฌ์ฃผ์„ธ์š”.
  • ์ปค์Šคํ…€ ํ›…์˜ ๊ฒฝ์šฐ camelCase๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
    • โœ… useGetFeeds.tsx
    • โŒ UseGetFeeds.tsx

3. ์ด๋ฏธ์ง€

  • ์ด๋ฏธ์ง€๋Š” underscore๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • โœ… login_btn.png, signup_btn.png
    • โŒ LoginBtn.png, loginBtn.png
  • ํ™œ์„ฑํ™”์™€ ๋น„ํ™œ์„ฑํ™” ์ด๋ฏธ์ง€๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒํƒœ๋ฅผ ๋งˆ์ง€๋ง‰์— ํฌํ•จํ•ด์ฃผ์„ธ์š”.
    • โœ… login_btn_active.png, login_btn_inactive.png
    • โŒ LoginBtnActive, login_active_btn.png
  • ๋งŒ์•ฝ, ์ด๋ฏธ์ง€ ๋ช…์— ์ˆซ์ž๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค๋ฉด, ์ตœ์†Œ 2์ž๋ฆฌ์˜ ์ˆซ์ž๋กœ ๋ช…๋ช…ํ•ด์ฃผ์„ธ์š”.
    • โœ… image_01.png, image_02.png
    • โŒ image_1.png, image1.png

4. ๋””๋ ‰ํ† ๋ฆฌ

  • ๋””๋ ‰ํ† ๋ฆฌ๋Š” kebab-case๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
  • ํด๋”๋Š” ๋˜๋„๋ก์ด๋ฉด ํ•œ ๋‹จ์–ด ์ด์ƒ์„ ๋„˜๊ธฐ์ง€ ์•Š๋„๋ก ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
  • ๋งŒ์•ฝ ํ•œ ๋‹จ์–ด๋ฅผ ๋„˜๊ธฐ๊ฒŒ ๋  ๊ฒฝ์šฐ ๋ฐ˜๋“œ์‹œ ํ•˜์ดํ”ˆ(-)์„ ์ด์šฉํ•ด์ฃผ์„ธ์š”.
    • โœ… /login, /item/list, /directory-name

5. ๋ณ€์ˆ˜๋ช…

  • ๋ณ€์ˆ˜๋ช…์€ camelCase๋ฅผ ์ด์šฉํ•ด์ฃผ์„ธ์š”.
  • ๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ๋ณต์ˆ˜ํ˜•์œผ๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
    • โœ… feeds, numbers
    • โŒ feedList, numberList

6. ์ƒ์ˆ˜๋ช…

  • ์ƒ์ˆ˜๋ช…์€ ๋Œ€๋ฌธ์ž์™€ snake_case๋ฅผ ์ด์šฉํ•ด์ฃผ์„ธ์š”.
    • โœ… PIE = 3.14159, SPEED_OF_LIGHT = 299,792,458

7. ํƒ€์ž… ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค

  • ํƒ€์ž…์˜ ๊ฒฝ์šฐ T๋ฅผ, ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ฒฝ์šฐ I๋ฅผ ๋งจ ์•ž์— ์ถ”๊ฐ€ํ•ด์„œ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”
  • ์ด๋ฆ„์€ PascalCase๋ฅผ ์ด์šฉํ•ด์ฃผ์„ธ์š”.
    • โœ… TFeedType
    • โœ… IFeedInterface

8. ํ•จ์ˆ˜๋ช…

  • ํ•จ์ˆ˜๋ช…์€ camelCase๋ฅผ ์ด์šฉํ•ด์ฃผ์„ธ์š”.
  • ํ•จ์ˆ˜๋ช…์˜ ๊ธธ์ด๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ๊ฐ€๋…์„ฑ์ด ๋”์šฑ ํ–ฅ์ƒ๋˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ ๋ คํ•ด์ฃผ์„ธ์š”.
    • โœ… generateRandomNumber, isNumber
    • โŒ checkNumber

9. ํด๋ž˜์Šค๋ช…

  • ํด๋ž˜์Šค๋ช…์€ PascalCase๋ฅผ ์ด์šฉํ•ด์ฃผ์„ธ์š”.
    • โœ… LottoShop, Api, Http

10. ๊ทธ ์™ธ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋Š” ํŒŒ์ผ

  • ๊ทธ ์™ธ ํŒŒ์ผ๋“ค์€ kebab-case๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
  • ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ œ์™ธํ•œ ์œ ํ‹ธ, ์ƒ์ˆ˜, ํƒ€์ž…, API ๋กœ์ง ๋“ฑ์˜ ๋ชจ๋“  ํŒŒ์ผ ํ™•์žฅ์ž๋Š” .ts๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”
  • ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ํŒŒ์ผ์€ ์†Œ๋ฌธ์ž๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
  • ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋‹จ์–ด๊ฐ€ ์กฐํ•ฉ๋˜๋Š” ๊ฒฝ์šฐ ํ•˜์ดํ”ˆ(-)์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์ฃผ์„ธ์š”.
  • ๋งŒ์•ฝ ๋‹จ์–ด์— ์„ธ๋ถ€ ๋ถ„๋ฅ˜๋‚˜ ์„ฑ๊ฒฉ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋ฉด ์ (.)์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์ฃผ์„ธ์š”.
    • โœ… login.validation.ts, signup.validation.ts,
    • โŒ loginValidation.ts

11. ํ…Œ์ŠคํŠธ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ํŒŒ์ผ

  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์˜ ๊ฒฝ์šฐ unit์„, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ์˜ ๊ฒฝ์šฐ integration์„ ์‚ฌ์šฉํ•ด์„œ ํ‘œ์‹œํ•ด์ฃผ์„ธ์š”.
  • โœ… OOO.unit.test.tsx
  • โœ… OOO.integration.test.tsx