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)
좋아요
l 공유하기 l 북마크하기찜하기 lthankstoThanksTo