--- id: CS-KISS-PRINCIPLE-001 category: "10_Wiki/๐Ÿ’ก Topics/AI" confidence_score: 1.0 tags: [software-design, kiss-principle, simplicity, clean-code, refactoring, maintainability] last_reinforced: 2026-04-26 --- # KISS Principle in Software Design (KISS ์›์น™: ๋‹จ์ˆœํ•จ์˜ ๋ฏธํ•™) ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > "๋ณต์žก์„ฑ์€ ์‹œ์Šคํ…œ์˜ ์ ์ด๋‹ค. ํ•ด๊ฒฐ์ฑ…์„ ํ•„์š” ์ด์ƒ์œผ๋กœ ๋˜‘๋˜‘ํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค ํ•˜์ง€ ๋ง๊ณ , ๋ˆ„๊ตฌ๋‚˜ ๋‹จ๋ฒˆ์— ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ƒ์กด๋ ฅ์„ ํ™•๋ณดํ•˜๋ผ" โ€” Keep It Simple, Stupid(KISS)๋ผ๋Š” ์„ค๊ณ„์˜ ๊ทผ๋ณธ ์ฒ ํ•™. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **์ถ”์ถœ๋œ ํŒจํ„ด:** "Intentional Simplicity and Reduction of Overhead" โ€” ๊ณผ๋„ํ•œ ์ถ”์ƒํ™”๋‚˜ ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•˜๊ณ , ๋ฌธ์ œ์˜ ๋ณธ์งˆ์— ๊ฐ€์žฅ ๊ฐ€๊น๊ณ  ๋ช…ํ™•ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํŒจํ„ด. - **KISS ์›์น™์˜ ์‹ค์ฒœ ์ง€์นจ:** - **Avoid Over-engineering:** ๋ฏธ๋ž˜์— ์ผ์–ด๋‚ ์ง€๋„ ๋ชจ๋ฅด๋Š” ๋ณต์žกํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋Œ€๋น„ํ•ด ๋ฏธ๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค์ง€ ๋ง ๊ฒƒ (YAGNI์™€ ์ผ๋งฅ์ƒํ†ต). - **Single Responsibility:** ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋‚˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ์—ญํ• ๋งŒ ๋ช…ํ™•ํžˆ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•˜์—ฌ ๋…ผ๋ฆฌ์  ๋ณต์žก๋„ ๊ฐ์†Œ. - **Declarative Approach:** ์ฝ”๋“œ๊ฐ€ '์–ด๋–ป๊ฒŒ(How)' ๋™์ž‘ํ•˜๋Š”์ง€๋ณด๋‹ค '๋ฌด์—‡์„(What)' ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ๋‚˜ํƒ€๋‚ด์–ด ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ. - **Small Modules:** ๊ฑฐ๋Œ€ํ•œ ๋กœ์ง์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์–ด ์ธ์ง€์  ๋ถ€ํ•˜(Cognitive Load) ๊ฒฝ๊ฐ. - **์˜์˜:** ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์„ ๋‚ฎ์ถ”๊ณ  ๋ฒ„๊ทธ ๋ฐœ์ƒ ํ™•๋ฅ ์„ ์ค„์ด๋ฉฐ, ์ƒˆ๋กœ์šด ํŒ€์›์ด ํ”„๋กœ์ ํŠธ์— ๋น ๋ฅด๊ฒŒ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ฎ์€ ์ง„์ž… ์žฅ๋ฒฝ ์ œ๊ณต. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ๊ณผ๊ฑฐ์—๋Š” ์ž์‹ ์˜ ๊ธฐ์ˆ ๋ ฅ์„ ๊ณผ์‹œํ•˜๊ธฐ ์œ„ํ•œ '์˜๋ฆฌํ•˜๊ณ  ๋ณต์žกํ•œ ์ฝ”๋“œ(Clever Code)'๊ฐ€ ์„ ํ˜ธ๋˜๊ธฐ๋„ ํ–ˆ์œผ๋‚˜, ํ˜„๋Œ€ ์ •์ฑ…์€ '์ง€์† ๊ฐ€๋Šฅํ•œ ๋‹จ์ˆœ์„ฑ ์ •์ฑ…'์„ ์ตœ์šฐ์„ ์œผ๋กœ ํ•จ. - **์ •์ฑ… ๋ณ€ํ™”:** Antigravity ํ”„๋กœ์ ํŠธ๋Š” ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์‹œ '๋ถˆํ•„์š”ํ•œ ๋ณต์žก๋„'๋ฅผ ์ค‘๋Œ€ํ•œ ๊ฒฐํ•จ์œผ๋กœ ๊ฐ„์ฃผํ•˜๋ฉฐ, ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์ผ์ˆ˜๋ก ๋” ๋‹จ์ˆœํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ œ์‹œํ•  ๊ฒƒ์„ ์˜๋ฌดํ™”ํ•˜๋Š” ์ •์ฑ…์„ ์‹œํ–‰ํ•จ. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - [[Clean-Code-Principles]], YAGNI-Principle, [[Software-Architecture-Patterns]], Refactoring-Techniques - **Raw Source:** 00_Raw/KISS Principle.md