๐Ÿธminzzi
Minzzi์•ผ
๐Ÿธminzzi
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (132)
    • ์˜ค๋ฅ˜ํ•ด๊ฒฐ (14)
    • FE (36)
      • Next.js (17)
      • React (4)
      • React Native (0)
      • TypeScript (1)
      • JavaScript (14)
    • BE (0)
      • Nest.js (0)
    • ๋ฐ๋ธŒ์ฝ”์Šค (7)
    • ์›น ํ”„๋กœ์ ํŠธ (5)
    • CS (28)
      • Algorithm (5)
      • Python (4)
      • C++ (2)
      • Operating System (4)
      • Computer Networking (3)
      • Data Structure (1)
      • Machine Learning (3)
      • Tip (6)
    • Github (4)
    • Flutter (3)
      • ํ”„๋กœ์ ํŠธ (3)
    • Private (3)
      • ํšŒ๊ณ  (7)
      • ๋ฉด์ ‘ (17)
    • ๊ฐœ๋ฐœ๋„์„œ (7)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ๋ฉด์ ‘
  • ๋ชจ๋˜๋ฆฌ์•กํŠธ๋”ฅ๋‹ค์ด๋ธŒ
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • SSR
  • ๋ ‰์‹œ์ปฌ
  • ์ฝœ์Šคํƒ
  • ์‹คํ–‰์ปจํ…์ŠคํŠธ
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ์ด๋ฏธ์ง€ ์ตœ์ ํ™”
  • next.js
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • ์‹คํ–‰์ปจํƒ์ŠคํŠธ
  • react
  • ํž™์˜์—ญ
  • ์˜ค๋ธ”์™„
  • layout shift
  • ํ˜ธ์ด์ŠคํŒ…
  • ์ด๋ฒคํŠธ๋ฃจํ”„
  • ์›์‹œํƒ€์ž…
  • reflow

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๐Ÿธminzzi

Minzzi์•ผ

๊ฐœ๋ฐœ๋„์„œ

[๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] action point(ch2)

2025. 4. 27. 15:28

๋ฆฌํŒฉํ„ฐ๋ง ์ •์˜

๋ช…์‚ฌ : ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒ‰๋ณด๊ธฐ ๋™์ž‘์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ฑ„, ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ ์‰ฝ๋„๋ก ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋ฒ•
๋™์‚ฌ : ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒ‰๋ณด๊ธฐ ๋™์ž‘์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ฑ„, ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฆฌํŒฉํ„ฐ๋ง ๊ธฐ๋ฒ•์„ ์ ์šฉํ•ด์„œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋‹ค.

1. ๋ฆฌํŒฉํ„ฐ๋ง ํ•˜๋Š” ๋™์•ˆ์—๋Š” ์ฝ”๋“œ๊ฐ€ ํ•ญ์ƒ ์ •์ƒ ์ž‘๋™ํ•ด์•ผํ•œ๋‹ค -> ์ „์ฒด ์ž‘์—…์ด ๋๋‚˜์ง€ ์•Š์•˜๋”๋ผ๋„ ์–ธ์ œ๋“  ๋ฉˆ์ถœ ์ˆ˜ ์žˆ๋‹ค
์ด ๋ถ€๋ถ„์„ ์ž˜ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ฆฌํŒฉํ„ฐ๋ง ๋‹จ๊ณ„๋ฅผ ์ž˜๊ฒŒ ์ชผ๊ฐœ๊ณ  ํ•ญ์ƒ ์ •์ƒ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋งค๋ฒˆ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ง๊ณผ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. Ch1์—์„œ๋„ ๊ฐ•์กฐํ•œ ๋ถ€๋ถ„์ด์ง€๋งŒ ๊ทธ๋ž˜์„œ ์ž˜์งœ์—ฌ์ง„ ํ…Œ์ŠคํŠธ๊ฐ€ ๋Œ€๋‹จํžˆ ์ค‘์š”ํ•˜๋‹ค.

2. ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ๋ฆฌํŒฉํ„ฐ๋ง๋ฅผ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž์ฃผ ๋ฒˆ๊ฐˆ์•„ ์ž‘์—…ํ•˜๋”๋ผ๋„ ๋‘ ๊ฐœ์˜ ๋ชจ์ž ์ค‘ ํ•˜๋‚˜์˜ ๋ชจ์ž๋ฅผ ์จ์•ผ ํ•œ๋‹ค. ํ•ญ์ƒ ๋‚ด๊ฐ€ ์“ฐ๊ณ  ์žˆ๋Š” ๋ชจ์ž๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๊ทธ์— ๋”ฐ๋ฅธ ๋ฏธ๋ฌ˜ํ•œ ์ž‘์—…์˜ ์ฐจ์ด๋ฅผ ๋ถ„๋ช…ํ•˜๊ฒŒ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

3. ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ๋Š” ๋ชจ๋“  ์ฝ”๋“œ๊ฐ€ ์–ธ์ œ๋‚˜ ๊ณ ์œ ํ•œ ์ผ์„ ์ˆ˜ํ–‰ํ•จ์„ ๋ณด์žฅํ•œ๋‹ค.

4. 3์˜ ๋ฒ•์น™ - ๋น„์Šทํ•œ ์ผ์„ ์„ธ ๋ฒˆ์งธ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฆฌํŒฉํ„ฐ๋งํ•œ๋‹ค.

5. ๋ฆฌํŒฉํ„ฐ๋งํ•˜๊ธฐ ์ข‹์„ ๋•Œ(๊ธฐํšŒ๊ฐ€ ๋  ๋•Œ๋งŒ ์ง„ํ–‰)
   - ๊ธฐ๋Šฅ์„ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ง์ „ : ๊ตฌ์กฐ๋ฅผ ์‚ด์ง ๋ฐ”๊พธ๋ฉด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‰ฌ์›Œ์งˆ ๋งŒํ•œ ๋ถ€๋ถ„ ์ฐพ๊ธฐ
   - ์ดํ•ด๋ฅผ ์œ„ํ•œ ๋ฆฌํŒฉํ„ฐ๋ง : ์ฝ”๋“œ์˜ ์˜๋„๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋“œ๋Ÿฌ๋‚˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง (์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์ดํ•ด๋œ ๋ณ€์ˆ˜๋Š” ์ ์ ˆํ•œ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ , ๊ธด ํ•จ์ˆ˜๋ฅผ ์ž˜๊ฒŒ ๋‚˜๋ˆ„๋Š” ๋“ฑ)
   - ์“ฐ๋ ˆ๊ธฐ ์ค๊ธฐ ๋ฆฌํŒฉํ„ฐ๋ง : ๊ฐ„๋‹จํžˆ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์ฆ‰์‹œ ๊ณ ์น˜๊ณ , ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆฌ๋Š” ์ผ์€ ํ•˜๋˜ ์ผ์„ ๋๋‚ด๊ณ  ์ฒ˜๋ฆฌ
๊ณ„ํš๋œ ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•˜๊ฒŒ ๋˜๋Š” ์ผ์€ ์ตœ์†Œํ•œ์œผ๋กœ ์ค„์ด๊ณ , ๋ฆฌํŒฉํ„ฐ๋ง ์ž‘์—… ๋Œ€๋ถ€๋ถ„์€ ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š๊ฒŒ, ๊ธฐํšŒ ๋  ๋•Œ๋งˆ๋‹ค ์ง„ํ–‰

6. ๋ฆฌํŒฉํ„ฐ๋ง ์‹œ ๊ณ ๋ คํ•  ๋ฌธ์ œ
   - ์ƒˆ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์†๋„ ์ €ํ•˜ : ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•˜๋ฉด ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋А๋ ค์ง„๋‹ค๊ณ  ํ•˜์ง€๋งŒ, ๊ฒฐ๊ตญ ๋ฆฌํŒฉํ„ฐ๋ง์˜ ๋ชฉ์ ์€ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ฐ ์žˆ๋‹ค.
      ํ•˜์ง€๋งŒ ์ €์ž๋Š” ์ง์ ‘ ๊ฑด๋“œ๋ฆด ์ผ์ด ๊ฑฐ์˜ ์—†๊ฑฐ๋‚˜, ๋ถˆํŽธํ•œ ์ •๋„๊ฐ€ ๊ทธ๋ฆฌ ์‹ฌํ•˜์ง€ ์•Š๋‹ค๊ณ  ํŒ๋‹จ๋˜๋ฉด ๋ฆฌํŒฉํ„ฐ๋ง ํ•˜์ง€ ์•Š๋Š” ํŽธ์ด๋‹ค.
   - ํ…Œ์ŠคํŒ… : ๋ฆฌํŒฉํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž๊ฐ€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋งˆ๋ จํ•ด์•ผ ํ•œ๋‹ค.
    - ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ : ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๋Š” ๋Œ€์ฒด๋กœ ๋ณต์žกํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋„ ์ œ๋Œ€๋กœ ๊ฐ–์ถฐ์ง€์ง€ ์•Š์€ ๊ฒƒ์ด ๋งŽ๋‹ค. -> ํ…Œ์ŠคํŠธ ๋ณด๊ฐ•์ด ์ค‘์š” (๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ํ™œ์šฉ ์ „๋žต)

7. ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ํฅ๋ฏธ๋กœ์šด ์‚ฌ์‹ค
๋Œ€๋ถ€๋ถ„ ํ”„๋กœ๊ทธ๋žจ์€ ์ „์ฒด ์ฝ”๋“œ ์ค‘ ๊ทนํžˆ ์ผ๋ถ€์—์„œ ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•œ๋‹ค.
์„ฑ๋Šฅ ์ตœ์ ํ™” ๋‹จ๊ณ„
- ํ”„๋กœํŒŒ์ผ๋Ÿฌ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๋ถ„์„ํ•˜์—ฌ ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„์„ ๋งŽ์ด ์žก์•„๋จน๋Š” ์ง€์ ์„ ์•Œ์•„๋‚ธ๋‹ค -> ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ์ฃผ๋Š” ์ž‘์€ ๋ถ€๋ถ„๋“ค์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค
- ๊ทธ ๋ถ€๋ถ„์„ ๊ฐœ์„ 
- ์ž‘์€ ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ ์„œ ์ง„ํ–‰ํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ๋งค๋ฒˆ ์ˆ˜ํ–‰ํ•˜๋˜ ์„ฑ๋Šฅ์ด ๊ฐœ์„ ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ˆ˜์ • ๋‚ด์šฉ ๋˜๋Œ๋ฆฐ๋‹ค

8. ๋ฆฌํŒฉํ„ฐ๋ง์„ ์ž๋™ํ™”ํ•˜๋Š” ๊ฐ€์žฅ ์–ด์„คํ”ˆ ๋ฐฉ๋ฒ•
- ์†Œ์Šค ์ฝ”๋“œ์˜ ํ…์ŠคํŠธ๋ฅผ ์ง์ ‘ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ(โ€˜์ฐพ์•„ ๋ฐ”๊พธ๊ธฐโ€™ ๊ธฐ๋Šฅ์œผ๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, ๋ณ€์ˆ˜ ์ถ”์ถœํ•˜๊ธฐ๋ฅผ ์œ„ํ•ด ๊ฐ„๋‹จํžˆ ์ฝ”๋“œ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ์‹ ๋“ฑ)

9. ์ฑ… ์†Œ๊ฐœ
- ๋ฆฌํŒฉํ„ฐ๋ง ์—ฐ์Šต์— ์ฃผ๋ ฅํ•œ ์ฑ… : ๋ฆฌํŒฉํ„ฐ๋ง ์›Œํฌ๋ถ(์œŒ๋ฆฌ์—„ ์›จ์ดํฌ)
- ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ํ™œ์šฉ ์ „๋žต(๋งˆ์ดํด ํŽ˜๋”์Šค)
- ๋ฆฌํŒฉํ„ฐ๋ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(๊ธธ๋ฒ—)
- ๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ ์ตœ์‹  ์ž๋ฃŒ : https://github.com/WegraLee/Refactoring

GitHub - WegraLee/Refactoring: ใ€Ž๋ฆฌํŒฉํ„ฐ๋ง, 2ํŒใ€(ํ•œ๋น›๋ฏธ๋””์–ด, 2020)

ใ€Ž๋ฆฌํŒฉํ„ฐ๋ง, 2ํŒใ€(ํ•œ๋น›๋ฏธ๋””์–ด, 2020). Contribute to WegraLee/Refactoring development by creating an account on GitHub.

github.com

, https://refactoring.com

Refactoring Home Page

Introduction to the technique of refactoring and online catalog of refactorings

refactoring.com

'๊ฐœ๋ฐœ๋„์„œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] ๋ฆฌํŒฉํ„ฐ๋ง ์นดํƒˆ๋กœ๊ทธ ๋ณด๋Š” ๋ฒ•(ch5)  (0) 2025.05.01
[๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] action point(ch4)  (0) 2025.04.30
[ํ•จ๊ป˜์ž๋ผ๊ธฐ] action point  (2) 2025.04.30
[๋ฆฌํŒฉํ† ๋ง 2ํŒ] action point(ch3)  (0) 2025.04.28
[๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] action point(ch1)  (0) 2025.04.26
    '๊ฐœ๋ฐœ๋„์„œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] action point(ch4)
    • [ํ•จ๊ป˜์ž๋ผ๊ธฐ] action point
    • [๋ฆฌํŒฉํ† ๋ง 2ํŒ] action point(ch3)
    • [๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] action point(ch1)
    ๐Ÿธminzzi
    ๐Ÿธminzzi

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”