Skip to content
On this page

Clean Architecture

Clean Architecture

책으로 어떤 경험을 얻으시나요? 두 줄 가량 작성해주세요. (띄어쓰기, 부호 포함 110자)

저에게 있어 책은 새로운 지식의 보고이자, 새로운 사고의 지평을 열어주는 문입니다.
책으로 누군가가 먼저 걸어간 길에 대한 안내를 받을 수 있고, 아름다운 문장을 배울 수 있으며, 상상할 수 없었던 이야기를 재미있게 들을 수 있습니다.

도서비로 지원 받은 책 한 권씩 소개해주세요 (띄어쓰기, 부호 포함 600자)

책 소개

<표지.jpg>

(출처: 도서출판 인사이트)

제가 이번에 도서비로 지원받은 책은 로버트 C. 마틴의 클린 아키텍쳐입니다. 주변 실력있는 프로그래머들에게 꼭 읽어보라고 추천을 많이 받았었고, 지금까지 일하면서 프로그램을 유지 보수 하다보면 결국은 초기 설계가 문제가 되는 경우가 많았기 때문입니다.
프로그램을 만들다 보면 누구나 일정과 기능 추가에 대한 압박을 받게 됩니다. 그렇게 일정에 쫒기다 보면, '우선 돌아가게 만들고 나중에 리팩토링 해야징' 하는 생각을 갖기 쉽습니다.
하지만 하나의 일정이 끝나면, 사실은 그것을 리팩토링할 시간 같은건 없습니다. 그냥 다음 일정에 쫒기게 되죠. 이렇게 쌓인 코드는 기술 부채, 혹은 '레가시'가 되어 하수구 속의 악어처럼 나중에는 누구도 건드리지 못하는 괴물이 되어 버리고 맙니다.

<악어.jpg>

프로그래머를 호시탐탐 노리는 무서운 악어 (출처: 유튜브)

저자는 이런 악어를 처음부터 키우지 않기 위해 다양한 방법론을 제시합니다. SOLID 원칙, 제어 흐름, 추상화를 어떻게 해야하는가, 의존성을 어떻게 낮추는가, 각 컴포넌트 분리는 어떻게 해야하는가 등등.
책을 보면서 '그래 이런 문제가 있었어' 부터 '이런 방법이 있었나?', 심지어 '이건 너무 과하지 않나' 같은 별별 생각이 다 들었지만, 그동안 유지 보수 하면서 느꼈던 '좋은 설계란 무엇인가'에 대한 갈망을 풀 수 있었습니다.

<요약.jpg>

출처: 도서출판 인사이트

다만 이 책에 아쉬웠던건 예제 코드를 충분히 제공하지 않는다는 점입니다. 하나의 방법을 소개할 때 간단한 코드나 도식만 제공하기 때문에 개념적으로 무엇을 말하는지는 알겠지만, 실무에 어떻게 적용해야 할지는 스스로 오랫동안 곱씹어 봐야 합니다. 이것은 제 능력 부족 때문이겠지요.
아직 책의 내용을 완전히 체화하지는 못하였지만, 두고 두고 보면서 참고 하고 싶은 책입니다.

Tags