Description
예약 판매부터 1만 부 돌파! 일본 아마존 IT 분야 베스트셀러
개발자가 직접 선정한 〈IT 엔지니어 도서 대상 2023〉 기술서 부문 대상
공감 100% 나쁜 코드 사례로 배우는 지속 가능한 코드 설계 입문서
소프트웨어를 개발하면서 다음과 같은 경험을 해 본 적 있지 않나요?
• 어떤 곳의 코드를 변경하니 다른 곳에서 버그가 발생했다.
• 코드를 변경했을 때 영향을 끼치는 부분이 어디인지 여기저기 찾아다녔다.
• 코드를 읽고 이해하는 데만 하루가 걸렸다.
• 쉽게 생각했던 사양 변경과 버그 수정에 며칠을 소비했다.
위와 같은 상황으로 괴로워하면서도 개발을 어렵게 하는 원인이 무엇인지조차 몰랐거나 원인을 알아도 어떻게 개선해야 할지 몰라 헤맨 적이 있을 것입니다. 그 이유는 이상적인 구조를 잘 모르기 때문입니다. 코드의 가독성을 높이고, 유지 보수를 용이하게 하며, 버그 발생을 줄이는 ‘좋은 코드’는 분명히 존재합니다. 우리 주변에서 마주칠 만한 나쁜 코드 사례를 하나하나 살펴보며, 좋은 코드로 개선하는 방법을 알아봅시다.
이 책에서는 객체 지향 설계를 통해 코드 품질을 높이는 방법을 설명합니다. 설계를 고민하지 않고 작성한 코드는 오로지 한 치 앞만 바라본 코드라고 보며, 설계를 염두에 두고 코드를 작성할 것을 강조합니다. 복잡한 로직을 구분하고 정리하여 질서 정연한 구조로 개선하는 다양한 객체 지향 설계 기법을 통해 소프트웨어의 성장 가능성을 높일 수 있습니다.
저자의 책 소개 인터뷰: https://www.youtube.com/live/_qXG06v8HAI?feature=share
"그때는 돌아갔지만, 지금은 아니다"
쌓여 가는 기술 부채에 유지 보수하기 막막하다면?
나쁜 코드 사례를 통해 설계의 세계로 나아가 보자!
‘좋은 코드, 나쁜 코드가 따로 있을까?’, ‘그냥 돌아가기만 하면 되는 것 아닌가?’ 오늘만 코딩하는 사람이면 이렇게 생각할 수도 있습니다. 하지만 코드가 지금은 문제없이 돌아가더라도 요구 사항이 달라지거나 기능이 변경되면, 얼마 지나지 않아 여기저기서 문제가 터져 나올 것입니다.
이렇게 방치된 나쁜 코드는 읽고 이해하는 데 시간이 오래 걸릴뿐더러, 비즈니스에 손해를 끼치는 버그를 계속해서 만들어 냅니다. 더 나아가 낮은 품질의 개발 경험을 재생산하여 추후의 프로젝트에도 영향을 미칩니다. 장기적으로 개발 생산성이 높은 코드를 작성하기 위해서는 ‘설계’해야 합니다. 여러 기술 서적에서 공통으로 강조하는 ‘좋은 설계’가 있습니다. 이 책을 통해 이상적인 설계를 체득하고 현재 설계와 비교하면 차근차근 간극을 좁혀 나갈 수 있습니다.
클린 코드, 도메인 주도 설계, 리팩터링… 읽고 싶지만 너무 어렵게 느껴진다면?
설계알못을 위한 첫 단추! 객체 지향 설계의 기본기를 다지자!
설계를 배워 보지 않은 사람들은 ‘설계’가 중급자 이상의 영역이라고 생각할 수 있습니다. 또는 그냥 코딩하지 않고, 설계 기술을 적용하여 개발 중인 소스 코드를 개선하고 싶은데 어디서부터 시작해야 할지 모를 수도 있습니다. 시중에는 설계 역량을 높이는 데 도움되는 좋은 책이 많습니다. 이 책들은 프로그래머들 사이에서 필독서로 거론되며, 선배들이 후배에게 추천하곤 합니다. 하지만 이런 책을 구매해서 학습해 보려고 해도, 설계 초보자들에게는 수준이 높아 접근하기 어려웠을 것입니다.
이 책은 설계 초보자도 진입 장벽을 딛고, 기본기를 다져 더 높은 수준의 설계 학습으로 나아가도록 돕습니다. 소프트웨어 설계에서 중요한 개념과 지침을 이해하기 쉬운 표현으로 전달합니다. 개발 생산성을 낮추는 나쁜 코드를 발견하는 방법부터, 코드에 구조적으로 접근하는 방법, 그리고 개발 프로세스에서 발생할 수 있는 문제 해결 방법까지 설계 초보자도 설계와 친해지고 코드 품질을 높일 수 있는 기법을 다룹니다.