“클린 코드를 통해 기르는 개발자의 비전과 안목”
2008년 《클린 코드》 1판이 출간된(원서 기준) 후 15년이 넘는 시간이 흘렀다. 그동안 소프트웨어 개발 세계에서 일어난 큰 변화 중 하나가 바로 기계가 코드를 '자동으로' 생성할 수 있게 된 것이다. 사람이 코딩에 개입할 필요가 없어져도 코드를 '깨끗하게' 짜는 일이 유효하다고 할 수 있을까?
《클린 코드》 2판은 그러한 질문에 대한 로버트 C. 마틴의 대답이라 할 수 있다. 그동안의 소프트웨어 개발 환경 변화를 반영해 전면 재집필된 이번 2판에서 지은이는 소프트웨어 개발에서 코드가 지니는 가치를 다시 한번 환기하고, 단순한 요령이 아니라 탄탄한 코딩 실천법을 토대로 그와 유기적으로 함께 적용할 수 있는 디자인 및 아키텍처 원칙까지 포괄적으로 다룬다.
이번 2판은 4부로 구성되어 있는데 1부에서는 1판에서도 개발자들에게 유용한 지침을 제공했던 코딩 실천법을, 2부에서는 디자인 원칙과 휴리스틱을, 3부에서는 고수준 아키텍처 전략을, 4부에서는 소프트웨어 장인 정신의 윤리를 다룬다.
LLVM 개발자 크리스 래트너는 “코드 작성이 목표였던 적은 없다. 의미 있는 소프트웨어를 개발하는 것이 목표이다.”라고 말했다. 코드를 쉽게 생성해 낼 수 있다고 해서 의미 있는 소프트웨어가 저절로 만들어지지는 않을 것이다. 그리고 그러한 소프트웨어를 개발하는 데는 소프트웨어를 어떻게 구조화할지에 대한 개발자의 비전, 판단력, 안목이 중요하다. 《클린 코드》 2판은 그러한 능력을 키우는 데 길잡이가 되어 줄 것이다.
이 책에서 배우는 내용
● 이름, 함수, 객체, 클래스를 잘 작성하는 데 필요한 기법
● 가독성을 최대화하기 위한 코드 형식 정리 전략
● 종합적인 에러 처리 및 테스트 실천법
● 코딩에 인공 지능 도구를 생산적으로 사용하는 방법
● 소프트웨어 디자인의 SOLID 원칙
● 재사용 가능하고 유연한 코드를 위한 의존성 관리
● 코딩 실천법과 통합된 디자인 및 설계 원칙
● 전문적인 실천법과 기술적 절충을 적용한 객체 지향 디자인
● 실용적인 예제로 살펴보는 사례 연구
● 자바, 자바스크립트, 고, 파이썬 등으로 작성된 다양한 예제 코드
● 소프트 스킬과 프로그래밍 윤리