kui-vault/03.Note/KISS (Keep It Simple, Stupi...

37 lines
2.1 KiB
Markdown

---
id: KISS (Keep It Simple, Stupid) 20260330
created: 2026-03-30 14:53
tags:
aliases:
---
## 💡 생각
[[단순한 코드]]를 만들어야 한다. 가독성을 항상 최우선시 하자.
단순한 형태로 쉽게쉽게 읽히는 코드를 만드는 게 중요하다.
코드의 유연성 확보는 그 다음 문제다.
---
## 📑 개념
**단순하게 유지해, 이 바보야**라는 뜻입니다. (여기서 바보는 나 자신이나 동료를 뜻하는 애칭 섞인 농담입니다.)
해결책은 항상 **가장 단순한 형태**여야 합니다.
## 📌 상세
코드가 똑똑해 보이고 화려할수록, 나중에 버그가 생겼을 때 고치기가 수십 배 더 힘들어집니다. 진짜 실력자는 어려운 문제를 어렵게 푸는 사람이 아니라, **어려운 문제를 누구나 이해할 수 있게 단순하게 푸는 사람**입니다.
복잡한 디자인 패턴이나 최신 기술을 억지로 끼워 넣지 마세요. `if-else`로 충분하다면 그렇게 짜는 것이 가장 좋습니다.
> [!question]
> Q. kiss의 경우 나도 많이 궁금했고 어려웠던건데 디자인 패턴이나 MVC패턴같은 개발 패턴들을 굳이 쓰지말고 일단은 단순하게 if-else 로 만들어란 뜻으로 해석해야 하는거야?
> A. 네, 정확하게 짚으셨습니다! **KISS** 원칙의 핵심은 **정답을 미리 정해놓고 끼워 맞추는 것이 아니라, 문제에 대한 가장 직관적인 해결책부터 시작하라**는 것입니다.
단순 if-else 로 구성된 코드가 무조건 잘못된 게 아님.
미래에 내가 다시 보거나 내가 아닌 다른사람이 내 코드를 읽었을 때 코드의 의도가 잘 이해되면 잘 만든 코드임.
디자인 패턴은 패턴의 이해가 필요하고 곧장 읽히지는 않기 때문에 디자인 패턴을 적용한 코드가 항상 가독성이 좋은 코드일수는 없음.
일단은 if-else 등의 단순한 형태로 작동되는 코드를 만드는 것이 중요함.
## 📝 노트
> [!note]
>
> - 코드의 중복이 발생되고 코드의 유연성이 떨어진다고 판단될 때 디자인 패턴을 적용하면 됨
>
---