[Clean Code] 클린코드 - Overview

2 분 소요

클린 코드 개발도서 관련 : 도서의 전체적인 개요를 살펴본다.

INDEX

목차
1장. 깨끗한 코드
2장. 의미 있는 이름
3장. 함수
4장. 주석
5장. 형식 맞추기
6장. 객체와 자료 구조
7장. 오류 처리
8장. 경계
9장. 단위 테스트
10장. 클래스
11장. 시스템
12장. 창발성
13장. 동시성
14장. 점진적인 개선
15장. JUnit 들여다보기
16장. SerialDate 리팩터링
17장. 냄새와 휴리스틱


들어가면서

두 개의 문이 있다. 한 곳은 WTF이 덜 들린다, 다른 문은 WTF이 자주 들린다… 난관에 부딫혔을 때 옳은 문 뒤에 있으려면 어떻게 해야 할까?

답은 장인 정신이다.


장인정신

장인 정신을 익히는 과정 두 가지 단계 = 이론실전

  1. 장인에게 필요한 원칙, 패턴, 기법, 경험이라는 지식을 습득해야 한다.
  2. 열심히 일하고 연습해 지식을 몸과 마음으로 체득해야 한다.

ex) 자전거 타기에 대한 물리적 지식을 가르쳐줄 수 는 있다. 그러나 직접 타는 것은 다르다.

구현도 마찬가지다. 냅두면 100% 넘어지게 되어있다. 깨끗한 코드를 작성하는 방법은 배우기 어렵다. 원칙과 패턴만 안다고 되는게 아니라 고생을 해봐야 한다.

해당 책은 가볍게 읽는 “기분 좋은” 책이 아니다, “아주 열심히” 독파해야 하는 책이다.

수 많은 코드가 준비되어 있고, 읽고 생각하자. 시간과 노력이 들지만 값어치가 있을 것이다.


책 구성

이 책은 세 부분으로 나뉜다.

첫째, 깨끗한 코드 작성

깨끗한 코드를 작성하는 원칙, 패턴, 실기를 설명한다.

코드가 많지만 둘째 부분을 위한 준비단계이다.

둘째, 사례 연구

이 부분은 어렵다. 사례 연구를 통해 문제가 있는 코드를 해결해나가는 연습을 한다.

코드에 가하는 변경과 이유를 납득해야 한다. 시간이 충분히 걸릴 것이다.

셋째, 결말

사례 연구를 통해 수집한 냄새와 휴리스틱을 마지막 장에서 열거한다.
cf. 휴리스틱 : 발견법, 짧은 시간에 이루어지는 간편추론의 방법

사례 연구에서 이루어진 모든 행위의 이유를 휴리스틱이나 냄새 코드로 정리하였다. 우리가 겪은 경험과 감정에 대해 이해하고 이유를 잡아내려고 노력하였다.

우리가 생각하는 방식을 묘사한 지식 기반을 구축하였다.
이러한 지식 기반은 둘째 부분의 사례연구를 주의 깊게 읽어보아야 가치를 발휘한다.

둘째의 사례 연구에는 [H22]와 같은 휴리스틱 번호를 표기 하였으며, 사례 연구에서 코드를 정리하면서 내린 각각의 결정과 휴리스틱 사이의 관계가 중요하다.


결론

첫 부분과 셋째 부분만 읽고 사례 연구를 건너뛴다면 좋은 소프트웨어를 작성하는 “기분 좋은 책” 하나를 더 읽은 꼴밖에 안된다.

하지만 시간을 들여 사례 연구를 검토하고, 모든 결정과 단계를 이해하고, 저자가 생각한 방식을 이해하려고 애쓴다면, 이 책에서 제시하는 원칙과 패턴과 실기와 휴리스틱을 자신의 지식으로 만들 수 있을 것이다.

이 책이 그저 “기분 좋은 책”으로 머물지 않기를 바란다.


고찰

간단하게(?) 서문을 읽고 정리해보았다. 이 책은 서문에서부터 살짝 긴장감을 주는 듯한 문구들이 많았던것 같다. 전반적으로 “기분 좋게” 보다는 “아주 열심히”를 강조하며 진지하게 해당 책을 독파할 것을 요구하는듯 하다.

보통 서문를 읽지 않고 본문부터 읽는 습관이 있었는데, 해당 책은 서문을 읽지 않고 본문에 바로 들어갔다면, 점점 빡세지는 내용에 흥미를 잃고 중단하진 않았을까 하는 생각이 든다.

그럼 마음의 준비를 하고 시간이 얼마나 걸리든 완독 하는것을 목표로 “아주 열심히” 정리해 나가보도록 하자… 과연..?

댓글남기기