더북(TheBook)

3.3.2 코드를 깔끔하게 만드는 것은 작성하는 것만큼 중요하다

내가 컴퓨터에서 가장 먼저 좋아했던 부분은 결정론이었다. 우리가 작성한 코드는 항상 같은 방식으로 동작한다. 확실하다. 잘 동작하는 코드는 항상 잘 동작하고, 아닌 코드는 항상 아니다. 나는 이러한 점이 정말 좋았다. 당시의 나는 참 순수했다. 그동안 일하면서 CPU 속도에 따라 또는 하루 중 특정 시간에만 가끔씩 관찰되는 버그를 수없이 보았다. 이 거리의 첫 번째 진실은 ‘모든 것은 변한다’라는 것이다. 코드는 계속 바뀐다. 요구 사항이 달라지고 문서도 바뀐다. 환경도 바뀔 것이다. 환경을 설정해야 코드를 안정적으로 실행할 수 있다.

이제 이것을 알았으니, 긴장을 풀고 코드에 손을 대도 괜찮다고 말해주고 싶다. 어차피 일어날 일이므로 변화를 두려워해서는 안 된다. 이는 작업 중인 코드를 개선하는 것을 주저하지 말아야 한다는 것을 의미한다. 개선 사항이 사소한 것일 수 있다. 필요한 주석을 추가하고, 불필요한 주석을 제거하고, 더 나은 이름을 사용하는 것들 말이다. 코드가 살아있도록 하라. 코드에 변화를 많이 줄수록 코드 변경에 대한 저항력이 줄어들 것이다. 코드를 수정하면 고장이 발생하고, 고장으로 취약한 부분을 인지하고 관리하기 쉽게 만들 수 있기 때문이다. 여러분의 코드가 어디서 어떻게 고장났는지 더 깊이 이해해야 한다. 결국 여러분은 어떠한 변화가 가장 덜 위험할지에 대해 판단할 수 있는 선천적인 감각을 갖게 될 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.