2.6 KiB
| id | created | tags | aliases |
|---|---|---|---|
| 단순한 코드 20260318 | 2026-03-18 09:55 |
💡 생각
결국 단순한 코드는 가독성이 좋아야 하고: 코드의 가독성 유연성이 좋아야 한다. 유연한 단순함 유연성(Flexibility)
단순한 코드를 만들기 위해서는 이 두가지를 고민해야 하는데 이 자체가 고도의 작업이다.
[!question] Q. 단순한 코드라는게 가독성도 생각해야하고 스케일업도 고민해야해서 코드를 단순하게 만드는대에도 공수가 든다. 이렇게 이해하면 되는거야? A. 네, 정확합니다! 단순함은 거저 얻어지는 것이 아니라, 치열한 고민과 비용(공수)이 들어가는 결과물이라고 이해하시는 게 가장 올바른 접근입니다.
많은 초보 개발자들이 "그냥 생각나는 대로 빨리 짜는 것"을 단순하다고 착각하지만, 숙련된 개발자에게 단순함은 불필요한 것을 깎아내는 고도의 설계 작업을 의미합니다.
📌 상세
단순함은 '방치'가 아니라 '정제'입니다
코드를 단순하게 만들기 위해 공수가 드는 이유는 다음과 같은 판단 과정이 필요하기 때문입니다.
-
가독성 고민: "나중에 내가 이 코드를 다시 봤을 때, 10초 안에 로직을 파악할 수 있는가?"를 고민하며 변수명을 고치고 함수를 쪼개는 작업이 추가됩니다.
-
스케일업(유연성) 고민: "지금은 간단히 짜지만, 나중에 로직이 추가될 때 코드 전체를 다 뜯어고쳐야 하나?"를 생각하며 최소한의 확장성(인터페이스 분리 등)을 확보하는 데 시간이 듭니다.
그래서 파레토의 법칙을 여기서 적용해야합니다.
모든 코드를 이렇게 정성 들여 단순하게 만들려면 시간이 너무 많이 걸립니다. 그래서 20%에 집중해야 합니다.
-
핵심 20% (비즈니스 로직, 복잡한 쿼리): 가독성과 유연성을 위해 충분한 공수를 들여서 단순화합니다. 여기가 복잡하면 나중에 감당이 안 되기 때문입니다.
-
나머지 80% (일회성 툴, 단순 UI 연결 등): 여기에는 너무 많은 공수를 들이지 않습니다. 적당히 돌아가게만 짜는 것이 오히려 전체적인 효율(단순함)을 높이는 길입니다.
📝 노트
[!note] 스티브 잡스의 유명한 말 "단순함은 복잡함보다 어렵다. 생각을 명확히 해서 단순하게 만들려면 정말 열심히 노력해야 한다."