#term 버그(bug)보다 더 정확한 용어를 사용하자
“이 줄에 버그가 있다”
“이 포인터가 이라는 점이 버그이다”
“프로그램이 죽었다. 이것은 버그이다”
프로그램은 왜 실패하는가? p26
버그(bug)라는 말을 많이 사용하는데, 위에 인용한 말처럼 원인과 증상을 뭉뜽그려 말하곤 한다. 또, 프로그래머가 무조건 잘못한 일이 대부분인데 그 잘못을 묽게 만들기도 한다.
최근에 본 ’프로그램은 왜 실패하는가?’ 에 나오는 내용이다. 여기서 버그라고 뭉뜽거려 얘기하지 말고 결함(defect), 감염(infection), 실패(failure)로 딱딱 정확하게 찝어서 용어를 사용하자고 한다. 즉, 프로그래머가 잘못해서 코드에 어떤 결함(defect)을 만들고 실행하면 프로그램 상태를 감염(infection)시키게 되고 나중에 하나의 실패(failure)로서 겉으로 드러나게 된다.
“이 줄에 결함(defect)이 있다”
“이 포인터가 널인거 보니 감염(infection)됐네”
“프로그램이 실패(failure)했다”
단어가 낯설어서 입에 쫙쫙 달라붙지는 않는데, 뜻이 확실하고 단어 하나로 어떤 게 원인이고 결과인지 알 수 있으니 적극적으로 사용해볼 작정이다. 버그보다 결함이라는 게 더 자극되기도 하고 말야.