좋은 코드를 작성해야되는 이유

프로그래머의 마음가짐과 전문가적 태도

본 글은 Clean Code 도서의 내용을 참고하여 작성하였습니다.

르블랑의 법칙(Leblanc’s Law)

우리는 자신이 짠 쓰레기 코드를 보며 나중에 손보겠다고 생각한 경험이 있다. 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 생각했을지도 모른다.
물론 다시 돌아와 나중에 정리하는 일은 없었다.

나중은 결코 오지 않는다.

나쁜코드의 대가

나쁜코드가 쌓일수록 생산성은 0에 수렴하게 된다. 게다가 팀은 생산성을 높여야 한다는 회사의 극심한 압력에 시달린다. 그래서 결국은 나쁜 코드가 더 많이 추가되게 된다.
덕택에 생산성은 0에 수렴하게 된다.

나쁜코드가 나온 이유

코드가 왜 그렇게 되었을까?
일정이 촉박해서, 혹은 설계를 뒤집는 요구사항이 들어와서.
갖가지 이유들로 우리 프로그래머들은 관리자와 클라이언트등에게 불만을 가진다.

하지만 전적으로 우리 프로그래머에게 책임이 있다.

프로그래머의 책임

관리자가 일정에 쫒겨서 압박을 주고, 요구사항을 강력하게 밀어붙이는 이유는 그것이 그들의 책임이기 때문이다. 마찬가지로, 좋은 코드를 사수하는 일은 바로 프로그래머의 책임이다.

비유를 하나 들겠다. 어느 환자가 수술전에 손을 씻지 말라고 요구한다. 시간이 너무 걸리다는게 이유이다. 하지만 의사는 단호하게 거부한다. 왜? 의사는 환자보다 감염의 위험성을 더 잘 알기 때문이다.
환자의 말을 그대로 따르는 행동은 전문가답지 못하니까.

프로그래머도 마찬가지다.

나쁜코드의 위험성을 알지 못하는 관리자의 말을 그대로 따르는 것은 전문가답지 못한 행동이다.

좋은코드와 개발속도

좋은코드를 작성하려고 하지만, 대부분 프로그래머는 기한을 맞추려면 나쁜 코드를 작성할수밖에 없다고 느낀다. 하지만, 틀린 생각이다. 오히려 엉망진창인 코드로 속도가 늦어지고 기한을 놓치게 된다.
빨리가는 유일한 방법은 클린코드를 작성하는것이다.

좋은코드는 개발속도를 늦추는가, 아니면 좋은코드를 작성하는 훈련이 부족한 것인가?

comments powered by Disqus