Topic 3 소프트웨어 엔트로피
데이비드 토머스, 앤드류 헌트
느낌표 ! (인상 깊은 문장 | 문맥)
명백히 망가진 상황을 무시하는 것은 아무것도 고쳐지지 않을 것 같다는 생각, 아무도 신경쓰지 않는다는 생각, 망조가 들었다는 생각을 더 굳어지게 만든다. 이런 부정적인 생각이 팀원들 사이로 퍼져서 악순환을 만들 수 있다.
깨진 창문을 내버려 두지 말라.
p.9
저자는 깨진 창문 이론(Broken Window Theory) 처럼 소스 코드도 잘못되어있는 하나를 방치하면 우후죽순으로 늘어날 것이라고 보고있다.
과거에 필자도 이런 비슷한 경험을 했는데 이 코드가 레거시 코드인 것은 알지만 어쨋든?! 돌아가니 나중에 고쳐야지 싶은 마음으로 마무리했다. 근데 이 코드는 나중에도 고쳐지지 않는다. 이유는 그 레거시 코드를 다시 이해하고 변경해야하는 것은 처음 코드를 짤 때보다 더 큰 리소스가 다시 들기 때문이다. 이제 경험적으로 나중에 코드를 수정하겠다 더 깔끔하게 작성하겠다는 생각은 내일 운동하겠다는 것과 같다. 지금하는게 제일 빠르고 확실하고 미래의 시간을 절약하는 것이라는 것을 살짝 알고있는 것 같다.
필자의 개발할 때 즐거움 중 하나는 어떤 기능을 개발하고 기대하는대로 동작하면 일단 commit 을 한다. 그 후 리펙토링을 진행할 때 기분이 사실 짜릿하다. 리펙토링 후 commit 할 때 달라진 부분을 보면 기분 좋게 도파민이 나오는 것 같다. 리펙토링을 하고 commit 을 해도 되지만 필자는 commit 을 작은 단위로 하는 이유도 이러한 이유다.
Topic 3 느낌
Topic 3 에서는 나중으로 미룰수록 대가는 더 커진다는 것을 경고하고 있는 것 같다.