
출판사로부터 도서를 제공받아 작성한 리뷰입니다.
Review
0. 들어가며
생성형 AI를 쓰더라도 정말 코드도 깔끔하고, 구조도 깔끔하게 구현시키는 사람이 있고, 디렉터리 구분도 안되고, 그냥 root 디렉터리에 파일만 많이 생성해 놓는 사람도 있습니다. 이 차이는 무엇일까요? 물론 프롬프트 차이도 있겠지만, 개인적으로 개발 용어나 개발 관련 지식이 알고 있느냐, 없느냐의 차이라고 생각합니다.
"내 코드가 불안한 개발자를 위한 좋은 코드의 기준"이라는 책은 제목 그대로 AI시대에도 변치 않는 코드 선별과 유지보수 원칙에 대해서 설명해주고, 가이드해주는 책입니다. 코틀린 기반의 DDD 설계 원칙과 클린 코드에 대한 내용들을 통해서 이해를 돕고, 실제 예시 코드들도 책에 간략하게 설명해 줘서 재밌게 읽었던 것 같습니다.
1. 내용 요약
이 책에서 다루는 내용에는 구체적으로 어떤 것들이 있는지, 누가 읽으면 좋은지 한번 소개해보도록 하겠습니다.
1.1 주요 내용 및 특징



작가님께서 주황색을 많이 좋아하시는 듯한 내부 모습입니다 ㅎㅎ. 이 책은 목차를 보면 크게 "코드 -> 아키텍처 -> 테스트 -> 협업"흐름으로 흘러갑니다. 코드에 한정된 내용이 아니라 작은 부분에서 점점 크게 확장하면서 설명이 이어져서 가독성이 정말 좋았습니다. 아키텍처 부분에는 다이어그램으로 시각적인 표현도 되어있어서 추상적인 내용들도 머릿속에 잘 들어왔던 것 같습니다.
개인적으로 아키텍처 후반부와 테스트, 협업이 저에게는 제일 재밌었던 부분인 것 같습니다. 클래스와 모듈을 어떻게 나눌지, 의존성을 어떻게 줄일지, 그리고 변경에 유연한 구조를 어떻게 만들 수 있는지 실전적인 관점을 설명해줍니다. 특히, KISS, DRY, YAGNI 같은 핵심 원칙을 단어로만 들어만 봤지,,,, 구체적인 내용은 몰랐는데요. 단순 줄글로 설명되어 있는 것이 아니라 “언제 어떻게 적용해야 하는지” 중심으로 예시를 들어 설명이 되어있어서 재밌었습니다!!
계층형 구조, 클린 아키텍처 같은 큰 그림부터 테스트 자동화, Git 기반 협업, 코드 리뷰 문화까지 포함해 개인을 넘어 팀 단위의 코드 품질을 다루는 부분도 책 후반부에 이어집니다. 이 중에서도 테스트 자동화 부분이 조금 인상적이었는데, 기존에는 테스트 더블 내용 개념을 많이 헷갈렸습니다. Stub, Fake, Mock 등... 단위 테스트에 이걸 언제 어떻게 써야 할까... 에 개념을 깊게 다루지는 않지만, 개념 부분에 있어서 확실하게 알아갈 수 있었습니다.
1.2 추천하는 이유와 대상
이 책은 "이제 막 개발을 시작했거나, 프로젝트 경험이 적은 개발자 분들"에게 추천합니다. 제가 처음 개발을 시작하고, 팀 프로젝트를 했을 때, 정말 다양한 힘듦을 느꼈습니다. 그중 가장 힘들었던 부분이 코드가 동작은 하는데 하나의 함수 안에 코드의 양이 정말 많았고, 변수도 마구잡이로 선언되어있어서 스스로가 이해를 못 했던 경우였습니다. 또한, 남의 코드를 읽고 뭔가 코멘트를 주고 싶었지만, 코드를 볼 줄 모르니까 "구현하시느라 고생하셨습니다 :>"를 남발했었습니다. 지금 생각해 보면 팀원분께 정말 죄송하다는 마음이 드네요..


이 책을 읽으면서 '아 개발 초반기에 이 책을 읽었다면 그래도 어느 정도 생각은 하면서 개발했겠구나' 또는 '이미 관례적으로 따르는 좋은 코드의 관점에 대해서 알 수 있었겠구나'라는 생각을 했습니다. 지금도 물론 개발을 엄청 잘 하지는 않지만, 어느 정도 클린 코드의 기준과 기능 단위 분해에 있어 나름 저만의 기준이 존재합니다. 그럼에도 책에서 몰랐던 관점들을 많이 배웠고, 다음에 개발할 때 하나씩 꺼내서 적용해 보고, 팀원들과 각자의 관점에 대해서 이야기하면서 개발을 하고 싶습니다.


직접 코드를 치는 경우가 아니라, 바이브 코딩에 있어서도 중요한데요. AI가 생성한 코드는 겉보기에는 문제없이 동작할 수 있지만, 구조적으로 불안정하거나 확장에 취약한 경우가 많습니다. 이 책은 그런 코드를 “그대로 사용할 것인지, 개선해야 할지”를 판단할 수 있는 기준 또한 제안해줘서 좋았습니다!
2. 정리하며
최근 GPT Codex를 활용한 IOS 앱 개발을 하면서 이러한 경험을 많이 했습니다. 처음에는 "내가 어떤 기획이 있는데, 이런 기능이 필요하고, 이런 기능도 필요합니다. 데모 버전으로 구현해주세요."라고 프롬프트를 던졌을 때, 코드를 정말 잘 짜주기는 하지만, 구조도 엉망이고, 에러를 반환하면서 실행조차 되지 않았습니다. 그래서 다음에는 "단일 책임 원칙을 기반으로 기능 단위로 디렉터리를 구분해 주세요. 내부 코드도 기능 단위로 함수를 따로 분리하고, 함수명은 해당 함수가 어떤 기능을 하는지 명확하게 작명해 주세요. 확장성 있는 코드 설계를 해주세요. 빌드까지 오류가 없는 데모페이지를 만들어주세요"라고 프롬프트를 던지자 오류 하나 없이 잘 실행이 되었고, swift 코드를 자세히 모르더라도 변수명, 함수명으로 해당 함수의 기능을 유추할 수 있었습니다.
즉, 해당 경험을 통해서도 아무리 바이브 코딩으로 앱을 만들어서 배포할 수 있다고 한들, 좋은 코드가 어떤 것이고, 좋은 설계가 어떤 것인지를 알아야 생성형 AI도 정말 100% 효율로 사용할 수 있다는 것이죠. 바이브 코딩이 아니고, 실제 직접 코드를 구현하는 분들에게도 좋은 코드를 작성해야 유지보수가 편할 것입니다!
AI 시대에도 결국 코드를 볼 줄 알아야 하고, AI가 해결하지 못하는 문제들은 직접 코드를 읽고, 해결할 줄 알아야 합니다. 개발을 하다보면 좋은 코드란 무엇인가?라는 의문이 한 번쯤 들 수 있습니다. 그럴 때, 이 책을 통해서 한번 좋은 인사이트를 얻어가셨으면 좋겠습니다 :>
3. Reference
'Activity > Review' 카테고리의 다른 글
| [Review] "대체 불가능" 도서 리뷰 (3) | 2026.02.28 |
|---|---|
| [Review] "감각 있는 일잘러의 IT지식" 도서 리뷰 (0) | 2026.02.18 |
