헛다리 주도 문제 해결

1729바이트

개발을 하다 보면 혼자 웃긴 상황이 자주 생긴다. 코드를 대충 치고서 실행을 시켰을 때, 먼저 오류가 난다. 흔한 상황이다. 에러 로그를 슬쩍 보거나 거의 보지 않고서 아, 맞다, 맨날 빼먹던 그거를 다시 고쳐놓는다. 이건 저번에도 틀렸던 걸 확실히 기억하니까 이제는 될 거다. 물론 안 된다. 그러면 이번엔 에러 메시지를 딱 한 줄(보통 스택 트레이스의 맨 윗 줄 언저리) 읽고서 문제를 파악한다. 코드와 새로 알아낸 사실을 대조한다. 찾았다. 고치고서 실행한다. 또 틀렸다. 슬슬 열이 오른다. 에러 메시지를 다시 꼼꼼히 읽어 보니 내가 고친 곳과 다른 곳에 비슷한 문제가 있었다. 이런 루프를 몇 번 반복한다.

개발하면서 맨날 수도 없이 일어나는 일인데 뭐가 웃기냐면, 문제가 생겼다는 그 자체만으로 진짜 문제를 고치기 전까지 다른 문제를 찾아내어 해결한다는 점이다. 심지어 원래 알고 있는 것조차도 실제 구동을 시켜보기 전까지는 틀린 걸 알아채지 못하는 경우가 잦다. 그러니까 진짜 기이한 일은, 오류가 나자마자 그 실수를 반드시 깨닫거나 발견하는데, 이 오류와 내가 알아챈 실수가 연관이 전혀 없을 수도 있다는 것이다. 아마도 오류가 생겼다는 상황이 경계심과 집중력을 끌어올려 주는 걸까? 한 번의 구동 실패로 두어 개의 오류를 잡는 것은 꽤 흔한 일이다.

누구와도 이 주제로 이야기를 나눠본 적이 없지만, 마음 속에서 나는 이런 경우를 헛다리 주도 문제 해결이라고 부르고 있다.