더북(TheBook)

새로운 무언가를 개발하는 데 꽉 막힌 느낌이 든다면 처음부터 다시 작성하라. 이전에 작업했던 복사본도 저장하지 말라고 하고 싶지만, 정말 빠르게 다시 할 수 있을지 확신이 없을 때는 저장하고 싶을 것이다. 인정한다. 그렇다면 복사본을 어딘가에 저장해 두라. 하지만 장담하건대 이전에 작업한 코드를 볼 필요도 없을 것이다. 이미 우리 마음 속에 있기 때문이다. 새로운 코드는 훨씬 더 빨리 우리를 인도할 것이고, 이번에는 같은 절망의 소용돌이에 빠지지 않을 것이다.

더 중요한 건 처음부터 다시 시작할 때는 이전보다 훨씬 더 이른 시점에 잘못된 곳으로 가고 있음을 깨달을 수 있다는 것이다. 이는 함정 레이더를 장착한 것과 같다. 어떤 특징을 올바른 방법으로 개발하는 선천적인 감각을 얻게 될 것이다. 이런 식으로 프로그래밍하는 것은 마블의 <스파이더맨>이나 <라스트 오브 어스>와 같은 콘솔 게임을 하는 것과 매우 유사하다. 계속 죽으면서 그 부분에서 다시 시작한다. 죽고 다시 살아나는 거다. 반복을 통해 게임 실력이 더 나아지듯이, 프로그래밍도 반복할수록 더 잘하게 된다. 처음부터 다시 시작하면 단일 기능을 개발하는 기술이 향상된다. 또한, 일반적으로 향후 작성할 모든 코드에 대한 개발 기술도 향상된다.

주저하지 말고 하던 것을 버리고 처음부터 다시 작성하라. 매몰 비용의 오류에 빠지지 마라.

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