여러분은 새로운 프로그래밍 언어, 새로운 라이브러리, 새로운 프레임워크 또는 더 많은 코드를 빠르게 생성할 수 있는 IDE의 새로운 기능에 대해 끊임없이 듣고 있을 겁니다. 앞에서 이야기한 루시드의 사례에서 알 수 있듯이, 이런 기능이 그럴듯해 보이기는 하지만, 지속가능한 소프트웨어 개발을 위한 좋은 전략은 아닙니다. 많은 코드를 빠르게 만들어내는 건 읽어야 할 코드가 그만큼 더 많아진다는 뜻입니다. 즉, 코드를 많이 만들어낼수록 읽어야 할 코드의 양이 늘어나기 때문에, 자동화된 코드 생성은 문제를 악화시킬 뿐입니다.
마틴 파울러는 낮은 코드 품질에 대해 다음과 같이 이야기했습니다.
“작은 부분을 바꾸려 해도, 프로그래머는 이해하기 어려운 코드를 상당히 광범위하게 이해해야 합니다.”[32]
이해하기 어려운 코드는 작업 속도를 느리게 만듭니다. 반면 코드를 이해하기 쉽게 만드는 데 투자한 시간은 나중에 10배 이상으로 보상받습니다.