나쁜코드
프로그래머라면 나쁜코드로 고생한 적이 분명히 있을 것이다. 그것을 “고향”이라 부른다.
<aside>
💡 노력하다 마감시간이 다가오면 결국 소스코드는 더러워지는 경우가 정말 많고 나중에 다시 다듬어야지 생각하면서 정상적으로 돌아가는 기능에 안도감을 느껴 그대로 방치하는 경우가 태반이다.
이것을 르블랑의 법칙 “나중은 결코 돌아오지 않는다”라고 말한다.
</aside>
나쁜코드의 문제점 ?
- 나쁜코드의 문제점은 개발 속도를 크게 저하시킨다.
- 코드를 고치다 보면 엉뚱한 곳에서 문제가 많이 생긴다.
- 즉 간단한 변경이 없음
- 이러한 작업을 반복하다 보면 결국 개선이 아니라 더욱 쓰레기 더미는 높아지고 청소할 방법이 없어지게 된다.
- 나쁜 코드가 쌓일수록 팀의 생산성은 떨어진다.
- 이러한 상황에서 생산성을 증가시키기 위해 인력을 투입하지만 새 인력은 기존의 시스템 설계에 대한 이해가 깊지 않기 때문에 변경과 설계 의도에 반하는 변경을 구분하지 못하게 된다.
왜 나쁜 코드를 작성하게 되는 것일까?
가장 큰 이유는 기한을 맞추기 위해 나쁜코드가 작성된다고 나와있고 대부분 그렇게 생각할 것이다.
하지만 좋은 개발자들은 위의 이유가 틀린 것을 알고 있다.
- 그 이유는 나쁜 코드를 작성할수록 엉망진창이기 때문에 속도가 곧바로 늦어지고 결국 기한을 놓치게 된다.
- 기한을 맞추는 유일한 방법은 언제나 코드를 최대한 깨끗하게 유지하는 방법이다.
그래서 깨끗한 코드가 뭘까?
- 깨끗한 코드를 작성하는 방법은 그림을 그리는 행위와 비슷하다. 그림을 보면 대부분의 사람은 잘 그려졌는지 엉망으로 그려졌는지 알 수 있다.
- 하지만 잘 그린 그림을 구분하는 능력이 그림을 잘 그리는 능력은 아니다. 즉 깨끗한 코드와 나쁜 코드를 구분할 줄 안다고 해서 깨끗한 코드를 작성할 줄 안다는 뜻은 아니다.
- 깨끗한 코드를 작성하려면 “청결”이라는 감각을 활용해 자잘한 기법들을 적용하는 절제와 규율이 필요하다.