--- id: FE-REFACT-LEGACY-001 category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 1.0 tags: [react, refactoring, legacy-code, [[Technical-Debt|Technical-Debt]], hooks, typescript, [[Modularity|Modularity]]] last_reinforced: 2026-04-26 --- # Refactoring Legacy React Codebases (λ ˆκ±°μ‹œ React μ½”λ“œ λ¦¬νŒ©ν† λ§) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "μ½”λ“œλ₯Ό ν•œκΊΌλ²ˆμ— λ’€μ—ŽμœΌλ €λŠ” μœ ν˜Ήμ„ 뿌리치고, 정상 μž‘λ™ν•˜λŠ” κΈ°λŠ₯을 λ³΄ν˜Έν•˜λ©° μ μ§„μ μœΌλ‘œ ν˜„λŒ€μ μΈ νŒ¨ν„΄(Hooks, TS, Modularity)으둜 μ΄μ‹ν•˜μ—¬ μ‹œμŠ€ν…œμ˜ λΆ€νŒ¨λ₯Ό 멈좰라" β€” 기술 뢀채λ₯Ό μžμ‚°μœΌλ‘œ μ „ν™˜ν•˜λŠ” μ „λž΅μ  μ½”λ“œ ν˜„λŒ€ν™” ν”„λ‘œμ„ΈμŠ€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **μΆ”μΆœλœ νŒ¨ν„΄:** "Incremental Modernization and Safe Extraction" β€” λŒ€κ·œλͺ¨ λ³€κ²½ λŒ€μ‹ , μ»΄ν¬λ„ŒνŠΈ ν•˜λ‚˜μ”© λ˜λŠ” 둜직 ν•œ λ‹¨μœ„μ”©μ„ μΆ”μΆœν•˜μ—¬ μ΅œμ‹  React νŒ¨ν„΄μœΌλ‘œ κ΅μ²΄ν•˜κ³  ν…ŒμŠ€νŠΈλ‘œ κ²€μ¦ν•˜λŠ” νŒ¨ν„΄. - **λ¦¬νŒ©ν† λ§ 핡심 단계:** - **Identify Technical Debt:** κ±°λŒ€ μ»΄ν¬λ„ŒνŠΈ(God Components), λ³΅μž‘ν•œ 클래슀 생λͺ…μ£ΌκΈ° 둜직, νƒ€μž… μ •μ˜ λΆ€μž¬ 식별. - **Establish Safety Net:** λ³€κ²½ μ „ κΈ°μ‘΄ λ™μž‘μ„ 검증할 수 μžˆλŠ” λ‹¨μœ„/톡합 ν…ŒμŠ€νŠΈ μ½”λ“œ 확보. - **[[Logic|Logic]] Extraction (Hooks):** 클래슀 μ»΄ν¬λ„ŒνŠΈμ˜ λ³΅μž‘ν•œ λ‘œμ§μ„ μ»€μŠ€ν…€ ν›…μœΌλ‘œ μΆ”μΆœν•˜μ—¬ κΈ°λŠ₯κ³Ό UI 뢄리. - **Incremental TypeScript Adoption:** κ°€μž₯ 핡심적인 데이터 λͺ¨λΈλΆ€ν„° μ μ§„μ μœΌλ‘œ νƒ€μž…μ„ 적용. - **Component Decomposition:** κ±°λŒ€ μ»΄ν¬λ„ŒνŠΈλ₯Ό μž‘κ³  λͺ…ν™•ν•œ μ±…μž„μ„ κ°€μ§„ ν•˜μœ„ μ»΄ν¬λ„ŒνŠΈλ‘œ λΆ„ν•΄. - **의의:** μ„œλΉ„μŠ€ 쀑단 없이 μ½”λ“œμ˜ μœ μ§€λ³΄μˆ˜μ„±μ„ ν–₯μƒμ‹œν‚€κ³ , μ΅œμ‹  μ—μ½”μ‹œμŠ€ν…œ([[Next.js|Next.js]], [[Server Components|Server Components]] λ“±)으둜의 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ κΈ°λ°˜μ„ λ§ˆλ ¨ν•¨. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** κ³Όκ±°μ—λŠ” 'λΉ…λ±… 방식(전체 μž¬μž‘μ„±)'이 효율적이라고 μƒκ°ν•˜κΈ°λ„ ν–ˆμœΌλ‚˜, ν˜„λŒ€ 정책은 리슀크 관리 μ°¨μ›μ—μ„œ '점진적 λ¦¬νŒ©ν† λ§ μ •μ±…'을 μ••λ„μ μœΌλ‘œ μ„ ν˜Έν•¨. - **μ •μ±… λ³€ν™”:** Antigravity ν”„λ‘œμ νŠΈλŠ” λͺ¨λ“  μ‹ κ·œ κΈ°λŠ₯ 개발 μ‹œ κ΄€λ ¨ λ ˆκ±°μ‹œ μ½”λ“œμ˜ 10% λ¦¬νŒ©ν† λ§μ„ λ³‘ν–‰ν•˜λŠ” 'Boy Scout Rule' 정책을 μ‹œν–‰ν•˜λ©°, λ¦¬νŒ©ν† λ§ μ‹œ ν…ŒμŠ€νŠΈ 컀버리지 μœ μ§€λ₯Ό μ˜λ¬΄ν™”ν•¨. ## πŸ”— 지식 μ—°κ²° (Graph) - [[Clean-Code-Principles|Clean-Code-Principles]], [[Custom-Hooks-Patterns|Custom-Hooks-Patterns]], Technical-Debt-[[Management|Management]], [[Frontend-Architecture|Frontend-[[Architecture]]-and-Folder-Structure]] - **Raw Source:** 00_Raw/Legacy React Code Refactoring.md, 00_Raw/Refactoring Legacy React Codebases.md