우리 모두는 좋은 코드가 중요하다는 사실을 안다.
왜? 오랫동안 나쁜 코드에 시달려왔으니까.– 클린 코드 중
개발자라면 좋은 코드를 작성해야 한다는 말을 수없이 들어 왔을 것입니다. ‘좋은 코드’란 함께 일하는 동료 또는 미래의 내가 읽을 수 있도록 가독성이 좋아야 하고, 유지 보수나 기능 변경 시 버그가 발생할 확률이 적은 코드를 가리킨다는 것 또한 잘 알고 있을 것입니다.
하지만 구체적으로 어떤 코드가 좋은 코드이고, 나쁜 코드를 어떻게 좋은 코드로 개선해야 하는지 아는 단계에 이르기 위해서는 끝없는 수련이 필요합니다. 《내 코드가 그렇게 이상한가요?》는 그 수련을 시작하기에 적당한 책입니다.
예약 판매부터 1만 부 달성!
개발자가 직접 선정한 〈IT 엔지니어 도서 대상 2023〉
《내 코드가 그렇게 이상한가요?》의 원서 《良いコード/悪いコードで学ぶ設計入門(좋은 코드/나쁜 코드로 배우는 설계 입문)》는 출간도 되기 전에 예약 판매로 1만 부 판매를 달성했습니다. 일본 아마존 IT 분야 베스트셀러 1위를 수개월간 유지했는데요.
좋은 코드/나쁜 코드에 대한 고민은 끊임없이 있어 왔고, 좋은 코드 설계 기법을 정리한 책은 오래 전부터 출간되어 왔습니다. 그런데 이 책이 출간 소식과 동시에 폭발적인 인기를 얻은 이유는 무엇일까요?
끊임없이 자기 계발을 해야 하는 개발자들은 새로운 지식을 얻기보다는 원래부터 중요했던 지식을 누군가 떠먹여 주길 기다렸을 수도 있습니다. 이 책은 그런 갈증을 해소하기 위해 나왔습니다.
이 책은 수십 년에 걸친 객체 지향 프로그래밍 경험을 토대로 실천적인 설계 노하우를 제공합니다. 실제로 이 책의 샘플 코드는 저자가 실제로 목격한 코드를 재구성한 것입니다. 이 책을 통해 온라인 쇼핑몰, 게임, 웹툰 구독 서비스 등 쉽고 재미있는 사례를 통해, 나쁜 코드를 좋은 코드로 개선하는 설계 기법을 익힐 수 있습니다.
이 책에서 다루는 내용
- 잘못된 구조의 문제 깨닫기: 코드를 읽고 이해하기 어렵게 만드는 원인 알기
- 클래스 설계: 데이터와 관련 로직을 묶는 기본 단위
- 불변 활용: 예측 가능한 코드 작성하기
- 응집도: 코드가 여러 곳에 분산되는 문제 해결하기
- 결합도: 여러 역할을 가진 코드가 결합된 클래스 나누기
- 이름 설계: 구조를 염두에 둔 이름 짓기
- 주석 작성 방법: 읽는 사람을 고려하지 않은 나쁜 주석/읽는 사람을 생각한 좋은 주석
- 메서드(함수) 활용: 클래스 내부에서 안전하게 동작하는 메서드 만들기
- 모델링: 클래스를 만들기 위한 구조 잡기
- 리팩터링: 이미 구현된 나쁜 코드, 좋은 코드로 개선하기
저처럼 구조화 프로그래밍에 발을 들인 지 얼마 안 된 인간에게는, “아, 그렇구나”라는 생각이 드는 부분이 있습니다. 설계 초보자, 초보 프로그래머에게는 쉽게 다가갈 수 있는 내용인 것 같습니다.
Mor 님
클래스 기반 객체 지향을 중심으로 설계 노하우를 설명한 책이다. 개인적으로는 13장의 모델링 이야기가 가장 흥미로웠다. 자주 강조되지만 실천하기 어려운 ‘단일 책임 원칙’에 대해 저자가 생각하는 실천 지침을 설명하고 있어 참고가 되었다.
iota 님
1장부터 14장까지는 흔히 볼 수 있는 나쁜 코드를 예로 들어 어떻게 개선해야 하는지 정리되어 있고, 15장부터 17장까지는 개발 문화/프로세스에 대해 언급하고 있습니다. 전체적으로 요점이 잘 정리되어 있어 초보자도 참고할 수 있습니다.
John_Capibara 님
완전히 새로운 내용은 없지만, 프로그램을 작성할 때 중요한 내용이 많다, 어느 정도 프로그램 작성에 익숙해진 분들에게 추천합니다.
ramenzuki 님
객체 지향 설계 개념도 시간이 갈수록 변하고 있어, 정기적으로 다시 배워야 합니다. 이 책은 그런 의미에서 유용합니다. 코드를 쓰지 않는 관리 직무의 사람도, 이 정도는 알아두면 좋습니다.
Amazon Customer 님
《내 코드가 그렇게 이상한가요?》는 다음 서점에서 구입하실 수 있습니다.