프로그래밍을 하면서 가장 큰 실수는 빠르고 아름다운 코드를 처음부터 짜려고 한다는 것이다.
물론 빠르고 아름다운 코드가 궁극적인 목표가 되어야 한다.
하지만 처음부터 그럴 필요는 없다!!
우선 동작하는 코드를 만들어라.(Make It Work)
동작하는 것을 보고 해당 도메인에 대한 이해가 더 깊어지고 그 사이에(?) 요구사항도 바뀔 수 있다.
그런 변경 사항을 가지고 변경이 되는 곳과 변경이 되지 않는 곳을 구분 해보고 유지보수하기 쉽게 리팩토링을 한다.(Make It Right)
그리고 마지막으로 느린 부분을 찾아서 성능을 개선한다.(Make It Fast)
하지만 이렇게 작성한 코드도 시간이 지나면 레거시 코드가 되고 다시 리팩토링이 필요하게 된다^^