# [[Rule of Three (3의 법칙)]] ## πŸ“Œ Brief Summary **Rule of Three (3의 법칙)**은 μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ μœ μ‚¬ν•œ μ½”λ“œ 쑰각을 μ–Έμ œ λ¦¬νŒ©ν† λ§ν•˜μ—¬ 쀑볡을 ν”Όν• μ§€ κ²°μ •ν•˜κΈ° μœ„ν•œ κ²½ν—˜ 법칙(Rule of thumb)μž…λ‹ˆλ‹€ [1]. λ§ˆν‹΄ 파울러(Martin Fowler)의 μ €μ„œλ₯Ό 톡해 λŒ€μ€‘ν™”λ˜μ—ˆμœΌλ©° 돈 λ‘œλ²„μΈ (Don Roberts)κ°€ μ œμ•ˆν•œ "μ„Έ 번 슀트라이크면 λ¦¬νŒ©ν† λ§ν•˜λΌ(Three strikes and you refactor)"λŠ” κ°œλ…μœΌλ‘œ μš”μ•½λ©λ‹ˆλ‹€ [1, 2]. 즉, μ²˜μŒμ΄λ‚˜ 두 번째둜 λΉ„μŠ·ν•œ μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•ŒλŠ” 쀑볡을 ν—ˆμš©ν•˜λ˜, μ„Έ 번째둜 λ™μΌν•œ μ½”λ“œκ°€ λ‚˜νƒ€λ‚  λ•ŒλŠ” μƒˆλ‘œμš΄ ν”„λ‘œμ‹œμ €λ‚˜ λ©”μ„œλ“œλ‘œ μΆ”μΆœ(Extract)ν•˜μ—¬ 좔상화해야 ν•œλ‹€λŠ” μ›μΉ™μž…λ‹ˆλ‹€ [1, 3]. ## πŸ“– Core Content - **κ°œλ…μ˜ 기원 및 μ •μ˜**: 3의 법칙은 κ°œλ°œμžκ°€ λ¦¬νŒ©ν† λ§μ„ μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” 졜적의 타이밍을 κ²°μ •ν•˜λŠ” μ§€μΉ¨μž…λ‹ˆλ‹€. μ½”λ“œλ₯Ό 처음 μž‘μ„±ν•  λ•ŒλŠ” κ·Έλƒ₯ λͺ©μ μ— 맞게 κ΅¬ν˜„ν•˜κ³ , 두 번째둜 λΉ„μŠ·ν•œ μž‘μ—…μ„ ν•  λ•ŒλŠ” 쀑볡이 μ‹ κ²½ 쓰이더라도 κ·ΈλŒ€λ‘œ μ§„ν–‰ν•˜λ©°, μ„Έ 번째둜 λ™μΌν•œ ν˜•νƒœμ˜ μž‘μ—…μ΄ 반볡될 λ•Œ λΉ„λ‘œμ†Œ λ¦¬νŒ©ν† λ§μ„ μˆ˜ν–‰ν•˜λΌλŠ” κ²ƒμž…λ‹ˆλ‹€ [2]. - **μ„±κΈ‰ν•œ 좔상화(Premature Refactoring) λ°©μ§€**: λ¦¬νŒ©ν† λ§μ„ μ‹œλ„ν•˜λŠ” λ§Žμ€ κ°œλ°œμžκ°€ λ²”ν•˜λŠ” μ‹€μˆ˜λŠ” μ½”λ“œλ₯Ό 무쑰건 μž‘κ²Œ λΆ„ν• ν•˜μ—¬ μΆ”μƒν™”ν•˜λ €λŠ” κ²ƒμž…λ‹ˆλ‹€. 30μ€„μ§œλ¦¬ μ½”λ“œλ₯Ό 가독성을 λ†’μΈλ‹€λŠ” λͺ…λͺ©ν•˜μ— μ—¬λŸ¬ 클래슀둜 잘게 μͺΌκ°œλ©΄, μ½”λ“œλ₯Ό 읽을 λ•Œλ§ˆλ‹€ ν•¨μˆ˜ 본문을 좔적해야 ν•˜λ―€λ‘œ 였히렀 μœ μ§€λ³΄μˆ˜λ₯Ό μ–΄λ ΅κ²Œ λ§Œλ“­λ‹ˆλ‹€ [4-6]. 3의 법칙은 사둀가 3개 이상 λͺ¨μΌ λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦ΌμœΌλ‘œμ¨ 곡톡점과 차이점을 더 λͺ…ν™•νžˆ νŒŒμ•…ν•˜κ³  μ˜¬λ°”λ₯Έ 좔상화λ₯Ό 찾을 수 μžˆλ„λ‘ λ•μŠ΅λ‹ˆλ‹€ [3]. - **쀑볡 ν—ˆμš© 원칙 (WET - Write Everything Twice)**: 3의 법칙은 λ•Œλ‘œλŠ” μ½”λ“œ 쀑볡을 κ·ΈλŒ€λ‘œ λ‘λŠ” 것이 더 λ‚˜μ€ 선택일 수 μžˆμŒμ„ μ‹œμ‚¬ν•©λ‹ˆλ‹€ [7]. 두 번의 쀑볡 μ½”λ“œλ§Œ μžˆμ„ 경우, 이λ₯Ό λ¦¬νŒ©ν† λ§ν•˜κ³  잘λͺ»λœ 섀계λ₯Ό λ„μž…ν•˜λŠ” λΉ„μš©μ΄ λ‹¨μˆœνžˆ 쀑볡을 μœ μ§€λ³΄μˆ˜ν•˜λŠ” λΉ„μš©λ³΄λ‹€ 더 클 수 μžˆμŠ΅λ‹ˆλ‹€ [8]. ν•˜μ§€λ§Œ μ„Έ 번째 볡사본이 λ‚˜νƒ€λ‚˜λ©΄ μœ μ§€λ³΄μˆ˜ λΉ„μš©μ΄ λ¦¬νŒ©ν† λ§ λΉ„μš©μ„ μ΄ˆκ³Όν•˜κ²Œ λ˜λ―€λ‘œ μ΄λ•Œ κ°œμž…ν•©λ‹ˆλ‹€ [8]. - **잘λͺ»λœ 좔상화보닀 μ €λ ΄ν•œ 쀑볡**: 개발자 μƒŒλ”” λ©”μΈ (Sandi Metz)λŠ” "쀑볡이 잘λͺ»λœ 좔상화보닀 훨씬 μ €λ ΄ν•˜λ‹€(Duplication is far cheaper than the wrong abstraction)"라고 κ°•μ‘°ν–ˆμŠ΅λ‹ˆλ‹€ [9]. 두 μ½”λ“œκ°€ μš°μ—°νžˆ λΉ„μŠ·ν•΄ 보일 뿐, μ„œλ‘œ λ‹€λ₯Έ κ°œλ…μ„ λ‚˜νƒ€λ‚΄λŠ” 경우라면 쀑볡을 μœ μ§€ν•˜λŠ” 것이 λ‚«μŠ΅λ‹ˆλ‹€ [9]. ## βš–οΈ Trade-offs & Caveats - **잘λͺ»λœ μΆ”μƒν™”μ˜ λΆ€μž‘μš©**: μ½”λ“œλ₯Ό 쑰기에 좔상화할 경우, μƒˆλ‘œμš΄ μš”κ΅¬μ‚¬ν•­μ΄ 생겼을 λ•Œ μœ μ—°ν•˜κ²Œ λŒ€μ²˜ν•˜μ§€ λͺ»ν•˜λŠ” λΆ€μž‘μš©μ΄ λ°œμƒν•©λ‹ˆλ‹€. 잘λͺ»λœ 좔상화λ₯Ό μ–΅μ§€λ‘œ μƒˆλ‘œμš΄ μœ μ¦ˆμΌ€μ΄μŠ€μ— λ§žμΆ”κΈ° μœ„ν•΄ λΆˆλ¦¬μ–Έ λ§€κ°œλ³€μˆ˜λ‚˜ if λ¬Έ 등을 μΆ”κ°€ν•˜κ²Œ 되며, μ΄λŠ” μ½”λ“œλ₯Ό λ”μ°ν•˜κ²Œ 꼬이게 λ§Œλ“­λ‹ˆλ‹€ [7, 10]. - **μ›μΉ™μ˜ λ„κ·Έλ§ˆν™” 경계**: 3의 법칙은 μ–΄λ””κΉŒμ§€λ‚˜ κ²½ν—˜μ— κΈ°λ°˜ν•œ κ°€μ΄λ“œλΌμΈμΌ 뿐 μ ˆλŒ€μ μΈ κ·œμΉ™μ€ μ•„λ‹™λ‹ˆλ‹€ [1, 7]. 3번의 쀑볡이 λ°œμƒν–ˆλ‹€κ³  ν•΄μ„œ κΈ°κ³„μ μœΌλ‘œ 좔상화해야 ν•˜λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€. λ§Œμ•½ μΆ”μΆœν•˜λ €λŠ” 좔상화 κ°œλ…μ— λͺ…ν™•ν•œ 이름을 뢙일 수 μ—†λ‹€λ©΄, μ΄λŠ” 아직 μ˜¬λ°”λ₯Έ 좔상화λ₯Ό μ°Ύμ§€ λͺ»ν–ˆλ‹€λŠ” λœ»μ΄λ―€λ‘œ μ–΅μ§€λ‘œ λ¦¬νŒ©ν† λ§ν•˜μ§€ 말고 더 λ§Žμ€ 쀑볡 사둀가 λ‚˜νƒ€λ‚  λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦¬λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€ [7]. - **μ½”λ“œ μž¬μ‚¬μš©κ³Ό μœ μ§€λ³΄μˆ˜μ˜ μ—­μ„€**: 짧은 μ½”λ“œκ°€ 항상 가독성이 높은 것은 μ•„λ‹™λ‹ˆλ‹€ [11]. 단지 읽기 μ’‹λ‹€λŠ” 이유만으둜 ν•œ 번만 쓰일 헬퍼 ν•¨μˆ˜λ₯Ό λ¬΄λΆ„λ³„ν•˜κ²Œ λ§Œλ“€μ–΄λ‚΄λ©΄, μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κΈ° μœ„ν•œ 인지적 μ»¨ν…μŠ€νŠΈ μŠ€μœ„μΉ­ λΉ„μš©μ΄ μ¦κ°€ν•˜μ—¬ μœ μ§€λ³΄μˆ˜λ₯Ό μ €ν•΄ν•˜λŠ” νŠΈλ ˆμ΄λ“œμ˜€ν”„κ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€ [6]. ## πŸ”— Knowledge Connections ### Related Concepts #### [관계 μœ ν˜• A: 섀계 μ² ν•™ 및 원칙] - [[DRY (Don't Repeat Yourself)]] - μ—°κ²° 이유: 3의 법칙은 μ½”λ“œμ˜ 쀑볡을 λ°©μ§€ν•˜λŠ” μ›μΉ™μ΄λ―€λ‘œ DRY 원칙과 직접적인 λŒ€μ²™μ  ν˜Ήμ€ μƒν˜Έ 보완 관계에 μžˆμŠ΅λ‹ˆλ‹€. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: DRY 원칙을 λ§Ήλͺ©μ μœΌλ‘œ 좔ꡬ할 λ•Œ λ°œμƒν•˜λŠ” '잘λͺ»λœ 좔상화'의 λΆ€μž‘μš©μ„ μ΄ν•΄ν•˜κ³ , μ™œ λ•Œλ‘œλŠ” WET(Write Everything Twice) μ „λž΅μ΄λ‚˜ 3의 법칙이 μ‹€λ¬΄μ μœΌλ‘œ 더 μ•ˆμ „ν•œμ§€ 비ꡐ할 수 μžˆμŠ΅λ‹ˆλ‹€ [3, 9]. - [[YAGNI (You Aren't Gonna Need It)]] - μ—°κ²° 이유: 미래λ₯Ό 미리 μ˜ˆμΈ‘ν•˜μ—¬ λΆˆν•„μš”ν•œ κΈ°λŠ₯μ΄λ‚˜ ꡬ쑰λ₯Ό λ§Œλ“€μ§€ λ§λΌλŠ” μ›μΉ™μž…λ‹ˆλ‹€. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 두 번의 쀑볡 μ‹œμ μ—μ„œ μ„±κΈ‰ν•˜κ²Œ 곡톡화 계측을 λ§Œλ“€μ§€ 말고 μ„Έ λ²ˆκΉŒμ§€ κΈ°λ‹€λ¦¬λΌλŠ” 3의 λ²•μΉ™μ˜ 밑바탕에 κΉ”λ¦° "ν™•μ‹€ν•œ ν•„μš”μ„±μ΄ 증λͺ…될 λ•ŒκΉŒμ§€ 미뀄라"λΌλŠ” 철학을 깊이 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [8]. #### [관계 μœ ν˜• B: ꡬ체적 μ‹€ν–‰ 기법 및 식별] - [[Extract Method (ν•¨μˆ˜ μΆ”μΆœν•˜κΈ°)]] - μ—°κ²° 이유: μ„Έ 번째 쀑볡이 λ°œμƒν–ˆμ„ λ•Œ 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ κ°€μž₯ μš°μ„ μ μœΌλ‘œ μ‹€ν–‰ν•˜κ²Œ λ˜λŠ” 핡심 λ¦¬νŒ©ν† λ§ 무브(Move)μž…λ‹ˆλ‹€ [1]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 3의 법칙이 λ°œλ™λœ 이후, μ‹€μ œλ‘œ 쀑볡 μ½”λ“œλ₯Ό μ–΄λ–»κ²Œ λ–Όμ–΄λ‚΄κ³ , λ³€μˆ˜ 유효 λ²”μœ„(Scope)λ₯Ό μ–΄λ–»κ²Œ μ²˜λ¦¬ν•˜λ©°, 이름을 μ–΄λ–»κ²Œ λΆ€μ—¬ν•΄μ•Ό μ•ˆμ „ν•˜κ²Œ ν•¨μˆ˜λ‘œ μΆ”μΆœν•  수 μžˆλŠ”μ§€ μ‹€μ²œμ μΈ 기법을 배울 수 μžˆμŠ΅λ‹ˆλ‹€ [12-16]. - [[Code Smells (μ½”λ“œ 슀멜)]] - μ—°κ²° 이유: 3의 법칙은 νŠΉμ • μ½”λ“œ 슀멜, 즉 '쀑볡 μ½”λ“œ(Duplicated Code)'κ°€ λ°œκ²¬λ˜μ—ˆμ„ λ•Œ μ–Έμ œ 쑰치λ₯Ό μ·¨ν•΄μ•Ό ν• μ§€λ₯Ό μ•Œλ €μ£ΌλŠ” 진단 도ꡬ 역할을 ν•©λ‹ˆλ‹€. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ–Έμ œ μ½”λ“œκ°€ μ•…μ·¨λ₯Ό 풍기기 μ‹œμž‘ν•˜λŠ”μ§€, 그리고 μ–΄λ–€ 슀멜이 λ‹¨μˆœν•œ λ°©μΉ˜κ°€ μ•„λ‹ˆλΌ 즉각적인 λ¦¬νŒ©ν† λ§μ„ ν•„μš”λ‘œ ν•˜λŠ” μˆ˜μ€€μ˜ тСхничСский 뢀채(Technical Debt)인지 μ§„λ‹¨ν•˜λŠ” 기쀀을 확립할 수 μžˆμŠ΅λ‹ˆλ‹€ [17, 18]. ### Deeper Research Questions - μ„±κΈ‰ν•œ λ¦¬νŒ©ν† λ§μœΌλ‘œ 인해 이미 잘λͺ» μƒμ„±λœ 좔상화(Wrong Abstraction)λ₯Ό λ‹€μ‹œ μ›λž˜λŒ€λ‘œ λ˜λŒλ¦¬λŠ”(Defactoring λ˜λŠ” Inline) κ³Όμ •μ—μ„œ 결함을 μ΅œμ†Œν™”ν•˜λŠ” κ°€μž₯ 효과적인 μ „λž΅μ€ 무엇인가? - 두 번의 쀑볡 μ½”λ“œμ—μ„œ λ¬΄λ¦¬ν•˜κ²Œ λ¦¬νŒ©ν† λ§μ„ μˆ˜ν–‰ν–ˆμ„ λ•Œ, μΆ”ν›„ μƒˆλ‘œμš΄ μš”κ΅¬μ‚¬ν•­(Variation)이 좔가됨에 따라 μœ μ§€λ³΄μˆ˜ λΉ„μš©μ΄ κΈ°ν•˜κΈ‰μˆ˜μ μœΌλ‘œ μ¦κ°€ν•œ ꡬ체적인 싀무 μ‚¬λ‘€λŠ” μ–΄λ– ν•œκ°€? - TDD(Test-Driven Development)의 'Red-Green-Refactor' 라이프사이클 λ‚΄μ—μ„œ, 3의 법칙은 μ–΄λŠ μ‹œκΈ°(κ°œλ³„ 컀밋 단계 vs κΈ°λŠ₯ μ™„μ„± ν›„)에 μ μš©ν•˜λŠ” 것이 νŒ€ 생산성 κ΄€μ μ—μ„œ κ°€μž₯ 이상적인가? - ν”„λ‘ νŠΈμ—”λ“œ UI μ»΄ν¬λ„ŒνŠΈ 개발(예: React, Vue)μ—μ„œλ„ λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 μ€‘μ‹¬μ˜ λ°±μ—”λ“œμ™€ λ™μΌν•˜κ²Œ 3의 법칙을 μ—„κ²©νžˆ μ μš©ν•  수 μžˆλŠ”κ°€, μ•„λ‹ˆλ©΄ μ‹œκ°μ  μš”μ†ŒλΌλŠ” νŠΉμ„±μƒ λ³„λ„μ˜ μž„κ³„κ°’μ΄ ν•„μš”ν•œκ°€? - 좔상화λ₯Ό μ§„ν–‰ν•˜κΈ° μ „, 3개의 쀑볡 μ½”λ“œκ°€ λ‹¨μˆœνžˆ "μš°μ—°νžˆ λ˜‘κ°™μ€(Accidental duplication)" μ½”λ“œμΈμ§€ μ•„λ‹ˆλ©΄ "본질적으둜 같은 κ°œλ…μ˜(Essential duplication)" μ½”λ“œμΈμ§€ κ°œλ°œμžκ°€ μ •ν™•νžˆ νŒλ³„ν•  수 μžˆλŠ” κΈ°μ€€μ΄λ‚˜ μ§€ν‘œλŠ” 무엇인가? ### Practical Application Contexts - **Implementation:** μ½”λ“œλ₯Ό 처음 μž‘μ„±ν•˜κ±°λ‚˜ κΈ°μ‘΄ μ½”λ“œμ— 버그λ₯Ό μˆ˜μ •ν•  λ•Œ μœ μ‚¬ν•œ μ½”λ“œκ°€ 보인닀고 μ¦‰μ‹œ λ³„λ„μ˜ 헬퍼(Helper) ν•¨μˆ˜λ‘œ λΆ„λ¦¬ν•˜μ§€ μ•Šκ³ , λ™μΌν•œ λ‘œμ§μ„ μ„Έ 번째둜 λ³΅μ‚¬ν•΄μ„œ λΆ™μ—¬λ„£μ–΄μ•Ό ν•˜λŠ” μˆœκ°„μ—λ§Œ 좔상화 μž‘μ—…μ„ μ‹œμž‘ν•©λ‹ˆλ‹€. - **System Design:** μ†Œν”„νŠΈμ›¨μ–΄ μ»΄ν¬λ„ŒνŠΈλ‚˜ λͺ¨λ“ˆμ„ 섀계할 λ•Œ, μ΄ˆκΈ°λΆ€ν„° μ™„λ²½ν•œ μž¬μ‚¬μš©μ„±μ„ κ³ λ €ν•œ μΈν„°νŽ˜μ΄μŠ€λ‚˜ 좔상 클래슀λ₯Ό μ„€κ³„ν•˜λŠ” λŒ€μ‹ (Big Design Up Front), μΆ©λΆ„ν•œ 쀑볡 κ΅¬ν˜„ 사둀가 μΆ•μ λœ ν›„ μ μ§„μ μœΌλ‘œ 곡톡 ꡬ쑰λ₯Ό λ½‘μ•„λƒ…λ‹ˆλ‹€. - **Operation / Maintenance:** κΈ°μ‘΄ λ ˆκ±°μ‹œ μ½”λ“œλ₯Ό μœ μ§€λ³΄μˆ˜ν•  λ•Œ, μˆ˜λ§Žμ€ ν”Œλž˜κ·Έ(Flag)λ‚˜ λΆˆλ¦¬μ–Έ λ§€κ°œλ³€μˆ˜λ‘œ 점철된 μ΄ν•΄ν•˜κΈ° νž˜λ“  곡톡 ν•¨μˆ˜λ₯Ό λ°œκ²¬ν•˜λ©΄, 이λ₯Ό λ‹€μ‹œ 인라인(Inline)ν•˜μ—¬ μ€‘λ³΅λœ μ½”λ“œλ‘œ 되돌린 λ‹€μŒ μ²˜μŒλΆ€ν„° μ˜¬λ°”λ₯Έ 좔상화λ₯Ό μž¬νƒμƒ‰ν•©λ‹ˆλ‹€. - **Learning Path:** λ¦¬νŒ©ν† λ§μ˜ κ°œλ³„ 기법(μ–΄λ–»κ²Œ μ½”λ“œλ₯Ό μˆ˜μ •ν•  것인가)을 μŠ΅λ“ν•œ κ°œλ°œμžκ°€, μ–Έμ œ λ¦¬νŒ©ν† λ§μ„ ν•΄μ•Ό ν•˜κ³  μ–Έμ œλŠ” ν•˜μ§€ 말아야 ν•˜λŠ”μ§€μ— λŒ€ν•œ 타이밍과 νŠΈλ ˆμ΄λ“œμ˜€ν”„λ₯Ό ν•™μŠ΅ν•˜λŠ” λ‹€μŒ λ‹¨κ³„μ˜ μ§€μ‹μœΌλ‘œ ν™œμš©λ©λ‹ˆλ‹€. - **My Project Relevance:** νŒ€ ν”„λ‘œμ νŠΈμ—μ„œ λ°œμƒν•˜λŠ” κ³Όλ„ν•œ 좔상화λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•œ μ½”λ“œ 리뷰 κΈ°μ€€μœΌλ‘œ ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. νŒ€μ›μ΄ 두 개의 λΉ„μŠ·ν•œ μ½”λ“œλ₯Ό κ³΅ν†΅ν™”ν•˜λ €κ³  ν•  λ•Œ, "결합도가 λ†’μ•„μ§ˆ μœ„ν—˜μ΄ μžˆμœΌλ‹ˆ μ„Έ 번째 μœ μ¦ˆμΌ€μ΄μŠ€κ°€ λ‚˜μ˜¬ λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦¬μž"λŠ” 객관적 λ…Όκ±°λ‘œ μ“°μž…λ‹ˆλ‹€. ### Adjacent Topics - [[Over-engineering (μ˜€λ²„μ—”μ§€λ‹ˆμ–΄λ§)]] - ν™•μž₯ λ°©ν–₯: 3의 법칙을 λ¬΄μ‹œν•˜κ³  λ„ˆλ¬΄ 쑰기에 곡톡화λ₯Ό μ‹œλ„ν–ˆμ„ λ•Œ, μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜κ°€ μ‹€μ œλ‘œ ν•„μš”ν•˜μ§€ μ•Šμ€ λ³΅μž‘μ„±μ„ λ„κ²Œ λ˜λŠ” μ˜€λ²„μ—”μ§€λ‹ˆμ–΄λ§ ν˜„μƒκ³Ό κ·Έ λΉ„μš©μ  손싀을 ν™•μž₯ν•˜μ—¬ 쑰사할 수 μžˆμŠ΅λ‹ˆλ‹€. - [[Technical Debt (기술 뢀채)]] - ν™•μž₯ λ°©ν–₯: 3의 법칙을 μ§€ν‚€μ§€ μ•Šμ•„ 방치된 쀑볡 μ½”λ“œλ‘œ 인해 λ°œμƒν•˜λŠ” μœ μ§€λ³΄μˆ˜ 뢀채와, λ°˜λŒ€λ‘œ λ„ˆλ¬΄ 이λ₯Έ μΆ”μƒν™”λ‘œ 인해 λ°œμƒν•˜λŠ” μ•„ν‚€ν…μ²˜ 뢀채 쀑 μ–΄λ–€ 뢀채가 μ΄μžκ°€ 더 λΉ„μ‹Όμ§€ 비ꡐ 연ꡬ해 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. --- *Last updated: 2026-05-03*