범인을 찾았더니 어제의 나였다.
디버깅은 프로그램이 예상과 다르게 작동하는 원인을 찾아 고치는 과정이다. 새로운 질서는 이 과정을 오류 메시지가 실제로 무엇을 말하는지 읽는 일에서 시작한다. 오류는 작업자의 능력이나 인격에 대한 평가가 아니라 특정 상태에 관한 단서다. 파일을 찾지 못했다는 메시지라면 파일명과 경로를 살펴볼 수 있다. 존재하지 않는 요소에 접근했다는 메시지라면 요소의 이름과 코드를 실행한 시점을 확인할 수 있다.
오류를 기록하며 배우기에서는 예상과 실제 결과를 나누어 적는 연습을 제안한다.
- 오류 메시지는 그대로 적자. 어느 파일, 어느 줄인지도 함께.
- 마지막으로 바꾼 한 줄부터 떠올려보자. 따옴표와 괄호, 닫는 태그도 살펴보자.
- 하나만 고치고 저장한 뒤 다시 보자. 여러 곳을 동시에 바꾸는 것보다 원인을 좁히기 쉽다.
메시지가 없는데도 작동하지 않는다면 HTML만 열거나 CSS와 자바스크립트의 일부를 잠시 제외해 문제를 나눠볼 수 있다. 코드를 다른 대상에게 한 줄씩 설명하는 일도 자신의 이해에서 빠진 부분을 발견하는 데 도움이 된다.