콘텐츠로 이동

03. 디버깅 (문제 해결의 기술)

"모든 코드는 버그가 있습니다. 개발자는 코드를 짜는 시간보다 고치는 시간을 더 많이 씁니다. 에러 메시지는 컴퓨터가 보낸 러브레터입니다."

1. 에러를 읽는 법

빨간 글씨를 무서워하지 말고 맨 마지막 줄을 보세요. 거기에 힌트가 있습니다.

  • NameError: "그런 이름표 없는데요?" (오타 확인, 변수 선언 확인)
  • TypeError: "타입이 안 맞아요" (숫자와 문자를 더하려고 했나?)
  • IndentationError: "줄 맞춤(들여쓰기)이 엉망이에요"

2. 디버깅 3원칙

  1. 프린트 찍어보기 (print debugging): 의심스러운 곳 바로 앞뒤에 print(변수)를 찍어서 값이 어떻게 변하는지 봅니다.
  2. 작게 쪼개기: 100줄을 한 번에 실행하지 말고, 10줄씩 잘라서 어디까지 잘 되나 봅니다.
  3. AI에게 물어보기: 에러 메시지를 통째로 복사해서 AI에게 주면, 99.9% 확률로 해결책을 줍니다.

"이거 왜 안돼요?"라고 묻기 전에, "에러 메시지가 뭐라고 하니?"라고 스스로에게 물어보세요.

3. 구글링(Googling)의 기술

개발자의 실력은 '암기력'이 아니라 '검색력'입니다. python list object is not callable 처럼 에러 메시지를 그대로 복사해서 구글에 치세요. Stack Overflow에 정답이 있습니다.