더 좋은 프로그램을 작성하기 위하여 깨끗한 코드를 작성하는 방법에 대해 다루는 Robert C. Martin의 Clean Code를 정리하는 post입니다.
Table of Contents
이 책을 읽는 이유
- 프로그래머라서
- 더 나은 프로그래머가 되려고
이 책을 통해 얻을 수 있는 것
- 좋은 코드와 나쁜 코드를 구분하는 능력
- 좋은 코드를 작성하는 방법
- 나쁜 코드를 좋은 코드로 바꾸는 실력
코드가 존재하리라
코드는 요구사항을 기계가 알아 들을 수 있게 상세히 작성한 결과물이며, 이는 항상 필요하고 존재할 수 밖에 없다.
나쁜 코드
출시 기한을 맞추려 급하게 짠 나쁜 코드는 결과적으로 더 나쁜 결과를 불러오며, 나쁜 코드를 짜놓고 나중에 고쳐야겠다고 다짐해도 소용없다.
나중은 결코 오지 않는다.(르블랑의 법칙)
나쁜 코드로 치르는 대가
스파게티 같이 엉킨 코드위에 또 다른 스파게티를 얹고 이를 반복하다 보면 결국 이를 고치기 위한 시간과 자원이 더 들어간다.
나쁜 코드는 개발 속도와 팀 생산성를 크게 떨어뜨린다.
원대한 재설계의 꿈
나쁜 코드를 갈아엎기 위한 재설계를 아무리 해도 나쁜 코드가 밑바탕이 된다면 아무 소용 없다.
깨끗한 코드를 시간 들여 작성하는 것이 결국 시간과 자원을 아끼는 길이며, 전문가가 되는 길이다.
태도
촉박한 시간과 이상한 요구 사항으로 핑계 대지 말자. 결국 프로그래머로써 좋은 코드를 작성하는 것은 책임이며, 전문가로써 지켜야 할 덕목이다.
원초적 난제
기한을 맞추려 나쁜 코드를 양산한다?
틀렸다. 오히려, 나쁜 코드로 인해 기한을 맞추지 못하며, 기한을 맞추는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.
깨끗한 코드라는 예술?
깨끗한 코드를 작성하려면 절제와 규율이라는 바탕속에 각종 테크닉을 이용하여야 한다.
우리는 저자다
코드를 작성하는 우리는 저자다.
읽기 쉬운 코드는 매우 중요하며, 이러한 코드를 짜 놓으면 새 코드를 짜기도 쉽다.
보이스카우트 규칙
캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라.
시간이 지나도 언제나 깨끗하게 코드를 유지해야 한다.(적극적으로, 코드의 퇴보를 막자)
결론
이 책은 생각하는 방식과 그들이 사용하는 기술을 소개할 뿐이다.
나머지는 우리에게 달렸다. 연습하고 또 연습하자