Skip to content

Naming Rule

์ด์˜์ฐฌ edited this page May 31, 2024 · 8 revisions

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. ์Šคํƒ€์ผ์‹œํŠธ

  • ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•œ ์Šคํƒ€์ผ ์‹œํŠธ๋Š” PascalCase๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
    • โœ… BigButton.scss
    • โŒ big-button.scss
  • ๊ณต์šฉ ์Šคํƒ€์ผ ์‹œํŠธ๋Š” camelCase๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
    • โœ… colors.scss
    • โŒ Colors.scss
  • ์Šคํƒ€์ผ ์‹œํŠธ ํด๋ž˜์Šค๋Š” kebab-case๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
    • โœ… .confirm-modal
    • โŒ .ConfirmModal
  • ๋‹ค์Œ์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅด๋ฉฐ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
  • ์ตœ์ƒ์œ„ ๋ ˆ์ด์•„์›ƒ ์ •์˜๋Š” wrapper๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.
    • โœ… .page-wrapper, .section-wrapper
    • โŒ .pageWrapper, .sectionWrapper
  • ์„น์…˜ ๋‚ด๋ถ€์˜ ํŠน์ • ๋ธ”๋ก ์ •์˜๋Š” container๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.
    • โœ… .content-container, .form-container
    • โŒ .contentContainer, .formContainer
  • ๊ฐœ๋ณ„ ์š”์†Œ๋‚˜ ๊ทธ๋ฃน ์ •์˜์—๋Š” box๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.
    • โœ… .info-box, .image-box
    • โŒ .infoBox, .imageBox

6. ๋ณ€์ˆ˜๋ช…

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

7. ์ƒ์ˆ˜๋ช…

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

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

  • PascalCase
    • โœ… FeedType

9. ํ•จ์ˆ˜๋ช…

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

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

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

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

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

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

  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ: OOO.unit.test.tsx
  • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ: OOO.integration.test.tsx
Clone this wiki locally