프로그래밍은 과학보다 공예에 가깝다. 깨끗한 코드를 짜려면 먼저 지저분한 코드를 짠 뒤에 정리해야 한다.
프로그램을 망치는 가장 좋은 방법 중 하나는 개선이라는 이름 아래 구조를 크게 뒤집는 행위다. 어떤 프로그램은 그저 그런 ‘개선'에서 결코 회복하지 못한다. ‘개선' 전과 똑같이 프로그램을 돌리기가 아주 어렵기 때문이다.
그래서 저자는 테스트 주도 개발(TDD) 기법을 사용했다고 한다. TDD는 언제 어느 때라도 시스템이 돌아가야 한다는 원칙을 따른다. TDD는 시스템을 망가뜨리는 변경을 허용하지 않는다. 변경을 가한 후에도 시스템이 변경 전과 똑같이 돌아가야 한다.
변경 전후에 시스템이 똑같이 돌아간다는 사실을 확인하려면 언제든 실행이 가능한 자동화된 테스트 슈트가 필요하다.
—
어렵다.. 너무 어렵다..!! 대충 느낌은 알겠는데 내가 이정도로 깔끔한 코드를 작성할 수 있을지 확신이 없다.🥲 이 책을 읽고 소프트웨어공학 과목을 들었으면 좋았을 것 같다….😱