Do it! 클린 프로그래밍 - 코드만 짜던 당신, '진짜' 개발자가 된다! Do it! 시리즈
김종관 지음 / 이지스퍼블리싱 / 2025년 6월
평점 :
장바구니담기


▶▶ 이 리뷰는 출판사에서 도서를 제공 받아, 직접 읽고 작성한 리뷰입니다.




<Do it! 클린 프로그래밍>은

단순한 개발 기술서가 아니라,

체계적인 사고방식과 실무 태도를 길러주는 실용적인 안내서입니다.

이 책에서 다루는 협업, 소통, 문제 해결 역량은 개발자에게는 물론,

모든 직군에서 핵심적인 역량으로 작용합니다.

예컨대, 클린 코드 개념은 정돈된 글쓰기로 문서나 보고서 작성에 도움이 되며,

리팩토링은 불필요한 중복을 줄이고 효율적인 작업 습관을 만드는 데 기여합니다.

코드 리뷰나 협업 문화는 팀 내 의견 교환 능력을 키우는 데 효과적이며,

UML 다이어그램과 같은 시각 도구는 복잡한 아이디어를 쉽게 설명하는 역량을 높여줍니다.

이처럼 저자가 제시하는 원칙과 방법은

개발자뿐 아니라 비개발 직군에게도 충분히 적용 가능합니다.



이 책에서 가장 인상 깊었던 부분은

1장 '클린 코드의 원칙'이었습니다.

단순히 코드를 깔끔하게 작성하자는 수준을 넘어,

'이름을 왜 잘 지어야 하는가', '주석은 언제 어떻게 달아야 하는가' 등을 명확하게 설명합니다.

이는 마치 보고서 작성이나 이메일 제목을 정할 때,

받는 사람이 한눈에 이해할 수 있도록 배려하는 태도와 유사합니다.

따라서 이 장은 개발자뿐 아니라 일반 사무직 종사자에게도

문서 작성이나 커뮤니케이션의 질을 높이는 데 도움이 됩니다.

이를 이해하기 위한 사례로,

한 병원에서 투약표에

환자 이름과 약품명이 줄글로 빽빽하게 적혀 있다면,

환자 구분이 어려워져 약을 잘못 투여하는 사고로 이어질 수 있습니다.

이는 클린 코드가 지향하는 핵심 개념인

'사람이 읽고 이해하기 쉬운 구조적 설계'의 중요성을 잘 보여줍니다.

줄글로 뒤섞인 투약표는 '지저분한 코드'와 같고,

항목별로 명확히 정리된 표는 '클린 코드'에 해당합니다.

읽기 어려운 정보는 생명까지 위협할 수 있다는 점에서,

클린 코드 원칙은 정보 전달 전반에 적용 가능한 중요한 사고방식이라 할 수 있습니다.



또한 2장 '코드 스멜과 리팩터링'은

코드 개선과 성찰의 태도를 학습하는 데 초점을 맞추고 있습니다.

'코드 스멜'이란 프로그램이 겉으로는 정상적으로 작동하더라도,

내부에 중복 로직, 잘못된 가정, 불필요한 복잡성이 존재하는 상태를 의미합니다.

IT업무외의 에시로는

중복된 업무 방식, 복잡한 보고 절차, 불필요하게 많은 회의 등

직장 내 비효율을 '코드 스멜'로 비유한다면,

'리팩터링'은 그러한 불합리함을 구조적으로 정제하는 과정이라 할 수 있습니다.

이를 이해하기 위한 사례로,

2024년 뉴질랜드에서는 일부 주유소의 결제 시스템이

윤년 날짜(2월 29일)를 처리하지 못해 펌프가 정지하거나 결제가 중단되는 사고가 발생했습니다.

이는 개발자가 날짜 계산 시 "2월은 항상 28일까지 존재한다"는

잘못된 전제를 내포한 코드로 인해 초래된 결과입니다.

리팩터링은 이처럼 시스템 내부에 은폐된 논리적 오류나 취약한 가정을 찾아내고 수정하는 작업입니다.

이 장은 문제를 식별하고, 그 문제의 본질을 이해하며,

개선 방법을 적용하는 일련의 과정을 체계적으로 제시합니다.

독자는 이를 통해 업무 전반에 걸친 지속 가능한 개선의 개념을 성찰하게 됩니다.



마지막으로, 제6장 '객체 지향 프로그래밍과 SOLID 원칙'은

협업 구조와 역할 분담의 중요성을 설명합니다.

각 구성 요소의 책임이 명확하고, 역할 간 의존성을 최소화하는 구조는

모든 조직이 지향해야 할 이상적인 모델입니다.

이러한 구조는 유지보수, 테스트, 업그레이드 측면에서

효율성과 안정성을 확보하는 데 유리합니다.

실제로 마이크로서비스 아키텍처의 여러 성공 사례는

SOLID 원칙을 기반으로 구성 요소 간 안전한 연결 고리를 확보한 결과로 평가받고 있습니다.

특히, SOLID 원칙 중 하나인 OCP(개방/폐쇄 원칙)는

소프트웨어 구조가 기존 코드를 변경하지 않으면서도

새로운 기능을 확장할 수 있도록 설계되어야 함을 의미합니다.

이를 이해하기 위한 사례로,

고객 중심 서비스를 지향하는 한 레스토랑에서 셰프가

고객마다 다른 요구를 반영하기 위해

기존 레시피를 매번 실시간으로 수정한 상황을 들 수 있습니다.

이로 인해 하나의 요리에 대해 수십 가지의 변형 레시피가 생겨 표준화가 어려워졌으며,

주방 운영의 효율성은 급격히 저하되고,

원가 및 재고 관리의 정확성 또한 크게 떨어졌습니다.

이러한 문제는 기존 레시피,

즉 기존 클래스나 모듈은 수정하지 않고 폐쇄적으로 유지하되,

새로운 요구 사항은 별도의 확장 모듈을 통해 처리함으로써 해결할 수 있습니다.

핵심 로직은 불변으로 유지되어야 하며,

변화는 외부 구성 요소의 추가를 통해 대응해야 합니다.

이 책은 이러한 원칙들을 통해 업무 단위를 어떻게 분리하고,

유기적으로 연결할 수 있을지를 체계적으로 설명하고 있습니다.



<Do it! 클린 프로그래밍>은

이처럼 개발자뿐 아니라 문제 해결과 협업의 질을 높이고자 하는 모든 직장인에게 유익한 책입니다.

이론과 실습이 조화롭게 구성되어 있어

기술적 전문성이 없더라도 충분히 내용을 따라갈 수 있으며,

특히 '일을 잘하는 사람'이 되고자 하는 사람에게 꼭 한 번 권하고 싶은 책입니다.


#Doit!클린프로그래밍, #클린프로그래밍, #김종관, #이지스퍼블리싱, #프로그래밍, #it, #개발자, #클린코드, #협업, #주니어개발자



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo