--- id: CS-CLEAN-CODE-001 category: "10_Wiki/๐Ÿ’ก Topics/AI" confidence_score: 1.0 tags: [software-engineering, clean-code, srp, dry, kiss, refactoring, maintainability] last_reinforced: 2026-04-26 --- # Clean Code [[Principles|Principles]] (ํด๋ฆฐ ์ฝ”๋“œ ์›์น™) ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > "์ฝ”๋“œ๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ์ฝ๊ธฐ ์œ„ํ•จ์ด ์•„๋‹ˆ๋ผ, ๋ฏธ๋ž˜์˜ ๋‚˜๋ฅผ ํฌํ•จํ•œ '๋‹ค๋ฅธ ์ธ๊ฐ„'์ด ๋‹จ๋ฒˆ์— ์˜๋„๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ๊ณ ๋„์˜ ์˜์‚ฌ์†Œํ†ต ์ˆ˜๋‹จ์ด๋‹ค" โ€” ์œ ์ง€๋ณด์ˆ˜ ํšจ์œจ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ณ  ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ถ€ํŒจ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์˜ ๋„๋•์ /๊ธฐ์ˆ ์  ๊ธฐ์ค€. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **์ถ”์ถœ๋œ ํŒจํ„ด:** "Human-Centric Engineering and Responsibility Separation" โ€” ๊ธฐ๊ณ„์ ์ธ ๋™์ž‘ ์™„์„ฑ์„ ๋„˜์–ด, ์ด๋ฆ„ ์ง“๊ธฐ(Naming), ํ•จ์ˆ˜ ์„ค๊ณ„, ํด๋ž˜์Šค ๊ตฌ์กฐ์—์„œ ์˜๋ฏธ์  ๋ช…ํ™•์„ฑ๊ณผ ๋‹จ์ผ ์ฑ…์ž„(Single Responsibility)์„ ๊ด€์ฒ ์‹œํ‚ค๋Š” ํŒจํ„ด. - **ํ•ต์‹ฌ ์›์น™:** - **Meaningful Names:** ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋ช…์€ ์กด์žฌ ์ด์œ ์™€ ๊ธฐ๋Šฅ์„ ์Šค์Šค๋กœ ์„ค๋ช…ํ•ด์•ผ ํ•จ. - **Single Responsibility (SRP):** ํ•˜๋‚˜์˜ ํ•จ์ˆ˜/ํด๋ž˜์Šค๋Š” ์˜ค์ง ํ•˜๋‚˜์˜ ์ผ๋งŒ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ•˜๋‚˜์˜ ๋ณ€๊ฒฝ ์ด์œ ๋งŒ ๊ฐ€์ ธ์•ผ ํ•จ. - **DRY (Don't Repeat Yourself):** ์ค‘๋ณต์€ ์‹œ์Šคํ…œ์˜ ๋ณต์žก๋„๋ฅผ ๋†’์ด๊ณ  ๋ฒ„๊ทธ์˜ ์˜จ์ƒ์ด ๋จ. ์ถ”์ƒํ™”๋ฅผ ํ†ตํ•ด ์ œ๊ฑฐ. - **[[KISS (Keep It Simple, Stupid)|KISS (Keep It Simple, Stupid]]:** ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ•ด๊ฒฐ์ฑ…์ด ๊ฐ€์žฅ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์ž„. - **์˜์˜:** ๊ธฐ์ˆ  ๋ถ€์ฑ„(Technical Debt)์˜ ๋ˆ„์ ์„ ๋ฐฉ์ง€ํ•˜๊ณ , ๋Œ€๊ทœ๋ชจ ํ˜‘์—… ํ™˜๊ฒฝ์—์„œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋น„์šฉ์„ ํš๊ธฐ์ ์œผ๋กœ ๋‚ฎ์ถ”๋ฉฐ ์‹œ์Šคํ…œ์˜ ์ˆ˜๋ช…์„ ์—ฐ์žฅํ•จ. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๊ณผ๊ฑฐ์—๋Š” ๋ฉ”๋ชจ๋ฆฌ์™€ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์งง๊ณ  ์•”ํ˜ธ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์„ ํ˜ธํ–ˆ์œผ๋‚˜, ํ˜„๋Œ€ ์ •์ฑ…์€ ํ•˜๋“œ์›จ์–ด ์ž์›๋ณด๋‹ค '๊ฐœ๋ฐœ์ž์˜ ์ธ์ง€์  ์ž์›(Cognitive Resource)'์„ ํ›จ์”ฌ ๋น„์‹ผ ์ž์‚ฐ์œผ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ์ตœ์šฐ์„  ์ •์ฑ…์œผ๋กœ ์‚ผ์Œ. - **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์—์ด์ „ํŠธ๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋“  ์ฝ”๋“œ์— ๋Œ€ํ•ด SOLID ์›์น™๊ณผ ํด๋ฆฐ ์ฝ”๋“œ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๊ฐ•์ œ ์ ์šฉํ•˜๋ฉฐ, ๋ณต์žก๋„๊ฐ€ ์ผ์ • ์ˆ˜์ค€ ์ด์ƒ์ธ ์ฝ”๋“œ๋Š” ์ž๋™ ๋ฆฌํŒฉํ† ๋ง ๋ฃจํ”„์— ์ง„์ž…์‹œํ‚ด. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - [[Software-Architecture-Patterns|Software-Architecture-Patterns]], Refactoring-Techniques, SOLID-Principles-in-React, Technical-Debt-[[Management|Management]] - **Raw Source:** 00_Raw/Clean Code Principles.md