본문 바로가기
개발하자/clean code

제 1장, 깨끗한 코드

by ulqaef 2022. 9. 4.
728x90

1장. 깨끗한 코드

이 책은 이 책의 독자의 유형을 두 가지로 분류하고 있다. 현재 프로그래머이거나, 더 나은 프로그래머가 되기 위함이거나. 어쨌든 이 책의 독자는 프로그래머이기 때문에 깔끔한 코드를 작성하는데 관심을 가지고 있을 것이며, 그렇게 해야 한다고 언급을 하며 시작을 한다.

프로그래머가 작성해야 되는 깔끔한 코드를 설명하기 이전에 나쁜코드가 무엇인지 설명한다. 나쁜 코드는 서비스 출시 시기에 압박감을 느껴 급하게 작성한, 그렇게 했음에도 정상적으로 돌아가는 코드를 보며 안도하고 미래의 언젠가 코드를 수정하겠노라 다짐하며 작성하는 코드라고 비유하고 있다. 현재 개발자로 일을 하면서, 대충 짰음에도 정상적으로 돌아가는 코드를 보며 안도하고, ‘미래의 내가 수정하겠지?’ 라는 구절이 정말 크게 와닿는다. 이 책에서는 ‘미래의 나’, 즉, ‘나중’은 오지 않는다고 말하는데 이 부분 또한 크게 와닿는다. 미래의 나는 코드를 다듬지 않은 적이 많았기 때문이다.

이 책의 단 2 ~ 3 페이지를 읽었을 뿐인데 뼈를 수도 없이 맞아버려서 그만 읽을까도 고민했다… 너무 아프다ㅎㅎ.. 하지만 이 책을 읽겠다고 다짐하고 제목을 본 순간, 어떤 내용일지 어느정도 짐작은 했으니,, 차분히 읽고 자기 반성과 발전의 기회로 삼아보려고 한다.

나쁜 코드를 작성하게 되면 꼭 치러야 하는 비용이 발생한다고 한다. 위에서 언급한 대로 시간에 쫓겨 급하게 작성을 하고, 후에 재설계를 하면 된다고 계획을 세운다. 하지만 이러한 계획은 항상 계획대로 진행되지 않는다. 더러운(나쁜)코드를 뜯어 고치기 위해서는 나 혼자서는 불가능 하기 때문에 다른 인력을 투입하지만 새로 투입된 인력조차 그 코드를 좋은코드로 바꿔놓기가 쉽지 않을 것이다. 그렇게 나 혼자 나쁜코드를 작성하던 것을 이젠 두 명이서 나쁜 코드를 작성하게 됐고, 점점 코드는 산으로 가버리게 된다. 결국 팀은 기존의 코드를 모두 버리고 새로운 시스템을 설계하는 쪽으로 계획을 변경하기도 한다.

깨끗한 코드를 작성하기 위해서는 최대한 코드를 깨끗하게 유지하라고 한다. 그러기 위해서는 어떤 것이 깨끗한 코드인지를 알고 있어야 하며 나쁜 코드를 보고 깨끗한 코드로 바꿔갈 줄 알아야 한다고 한다. 1장의 후반부에서는 여러 전문가들이 말하는 ‘깨끗한 코드'의 정의를 인용하고 있다. 모두가 다르게 표현하고 있지만 공통적인 요소를 끌어내면, ‘깨끗한 코드'란 단순, 명쾌, 명확, 의도가 분명함과 같은 특징들을 이야기 하고 있다. 깨끗한 코드는 단순, 명쾌해야 하며 의도가 명확하고 분명히 드러나도록 작성해야 하는데, 그 이유는 코드를 작성할 때 코드를 타이핑하는 것과 코드를 읽는 것의 비율이 1:10을 넘기기 때문이라고 한다. 가령 어떤 개발자가 내가 작성한 코드를 참고해서 코드를 만든다고 했을 때 나의 코드가 의도가 분명하지 않다면 그 개발자는 내 코드를 참고하기를 포기할지도 모른다. 내가 이 코드의 저자라고 생각하고 독자, 즉 다른 개발자가 쉽게 읽을 수 있도록 단순, 명쾌, 분명하게 코드를 작성하도록 해야 할 것이다.

728x90
반응형

'개발하자 > clean code' 카테고리의 다른 글

Clean Code - by 로버트 C. 마틴 리뷰  (0) 2022.08.28

댓글


`