더 스마트한 코드; 디버거 사용
2262 단어 javascriptselftaughtbeginners
버그는 이상했습니다. 그의 클라이언트 측 자바스크립트에는 항상 false로 확인되는 if 문이 있었습니다.
if (response.html == "OK") {
// Response Success
console.log("This Print Statement Never Executes")
} else {
// Error Occurred
console.log("This Print Statement Always Executes")
}
response.html
가 "OK"와 같지 않은 이유에 대한 표시가 없었습니다. 백엔드 로그는 괜찮아 보였고 클라이언트 네트워크 로그는 응답에서 "OK"를 표시했습니다.내 친구는 도대체 무슨 일이 일어나고 있는지 알아내려고 하루 종일을 보냈다. 그는 결국 나에게 전화를 걸어 볼 수 있는지 물었습니다.
순간
초기 검사에서 모든 것이 괜찮아 보였습니다. 이것이 작동하지 않는 이유를 즉시 말할 수 없었습니다. 그래서 디버거를 시작하기 위해 chrome devtools에 뛰어 들었습니다.
몇 가지 중단점을 설정하고 1분 만에 문제를 발견했습니다. 백엔드 응답은 "\nOK"였습니다. 하나의 미미한newline이 문제였습니다.
내 친구는
console.log()
를 사용하여 디버깅하는 대안이 있다는 것을 믿을 수 없었습니다. 나는 그에게 코드에 중단점을 배치하고, 코드 실행 중간에 일시 중지하고, 프로그램 상태를 확인하고, 이 정보를 사용하여 작동하지 않는 이유를 파악하는 방법을 보여주었습니다.그가 얼마나 기뻐했는지를 보고 이 이야기를 나누도록 동기를 부여했습니다. 버그에 걸리고 문제를 해결하기 위해 모든 곳에서 인쇄 문을 작성하기 시작하면 디버거를 사용하는 것이 좋습니다.
웹 개발을 하고 있다면 Chrome에는 브라우저에 내장된 환상적인 개발 도구가 있습니다. Here are their docs 클라이언트 측 자바스크립트 앱에서 디버깅 중단점을 설정하는 방법에 대해 설명합니다.
결론
내 목표는 현재 디버거를 사용하지 않는 사람들이 마침내 디버거를 사용하도록 영감을 주는 것입니다. 참고로 저는 전문 개발자로서 제 시간의 30% 이상을 디버거에서 보냅니다. 그만큼 유용합니다.
독학으로 길을 가고 있다면 시간과 에너지를 충분히 활용해야 합니다. 디버거를 사용하여 더 어렵지 않고 더 똑똑하게 코딩하십시오. 여행이 훨씬 쉬워질 것이라고 장담합니다.
더 많은 웹 개발 팁을 원하십니까? 나를 팔로우하고 내 웹 개발 뉴스레터를 구독하세요.
게시물Code Smarter; Use a Debugger은 💻 Web Dev With Seb에 처음 등장했습니다.
Reference
이 문제에 관하여(더 스마트한 코드; 디버거 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sbmsr/code-smarter-use-a-debugger-48h8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)