Quest Academy

Debugging

Introduction to the Debugging Challenges

การ Debugging เป็นเครื่องมือที่มีค่าและ (น่าเสียดาย) สำหรับโปรแกรมเมอร์ เป้นไปตามขั้นตอนการทดสอบเพื่อตรวจสอบว่า Code ของคุณทำงานได้ตามที่ตั้งใจไว้หรือไม่และพบว่า Code นั้นไม่ทำงาน การ Debugging คือกระบวนการค้นหาสิ่งที่ไม่ทำงานและแก้ไข หลังจากใช้เวลาในการสร้าง block code ที่ยอดเยี่ยมแล้วก็ยากที่จะตระหนักว่อาจมีข้อผิดพลาด โดยปัญหาเหล่านี้มีสามรูปแบบ : 1) ข้อผิดพลาดจากไวยากรณ์ที่ป้องกันไม่ให้โปรแกรมทำงาน 2)ข้อผิดพลาด runtime เมื่อโค๊ตไม่สามารถดำเนินการหรือมีพฤติกรรมที่ไม่ค่ดคิดและ 3) ข้อผิดพลาดทางความหมาย (หรือตรรกะ) เมื่อ Code ไม่ทำตามที่ตั้งใจไว้

โปรแกรมแก้ไข Code สมัยใหม่ (และประสบการณ์) สามารถช่วยระบุข้อผิดพลาดทางไวยากรณ์ ข้อผิดพลาดทางความหมายและ runtime นั้นหายากกว่า อาจทำให้โปรแกรมของคุณขัดข้องทำให้รันตลอดไปหรือให้ผลลัพธ์ที่ไม่ถูกต้อง คิดว่าการ Debugging คือการพยายามทำความเข้าใจว่าเหตุใด Code ของคุณจึงทำงานในลักษณะที่กำลังเป็นอยู่

ตัวอย่างข้อผิดพลาดทางไวยากรณ์ซึ่งมักจะตรวจพบโดนโปรแกรมแก้ไข Code:

funtion willNotWork( {
console.log(“Yuck”);
}
// “function” keyword is misspelled and there’s a missing parenthesis

ตัวอย่างข้อผิดพลาดเชิงความหมาย – มักตรวจพบหลังจากการทดสอบOutputCode:

function loopy() {
while(true) {
console.log(“Hello, world!”);
}
}
// Calling loopy starts an infinite loop, which may crash your browser

ตัวอย่างข้อผิดพลาดเชิงความหมาย – มักตรวจพบหลังจากการทดสอบOutputcode:

function calcAreaOfRect(w, h) {
return w + h; // This should be w * h
}
let myRectArea = calcAreaOfRect(2, 3);
// Correct syntax and the program executes, but this gives the wrong answer

การแก้ไขจุดบกพร่องเป็นเรื่องที่น่าหงุดหงิด แต่จะช่วยในการพัฒนา (และปฏิบัติตาม) วิธีการทีละขั้นตอนในการตรวจสอบ Code ของคุณ ซึ่งหมายถึงการตรวจสอบค่ากลางและประเภทของตัวแปรเพื่อดูว่าเป็นสิ่งที่ควรจะเป็นหรือไม่ คุณสามารถเริ่มด้วยขั้นตอนง่ายๆในการกำจัด

ตัวอย่างเช่นหากฟังก์ชั่น A ทำงานและส่งคืนที่ควรจะเป็นฟังก์ชั่น B อาจะมีปัญหา หรือเริ่มตรวจสอบค่าในBlock Code จากตรงกลางเพื่อพยายามตัดพื้นที่การค้รหาลงครึ่งหนึ่ง ปํญหาในจุดหนึ่งบ่งชี้ข้อบกพร่องในครึ่งแรกของ Code ถ้าไม่เป็นเช่นั้นก็เป็นไปได้ในครั้งที่สอง

ส่วนนี้จะกล่างถึงเครื่องมือที่มีประโยชน์สองสามอย่างในการค้นหาจุดบกพร่องและรปแบบทั่วไปบางส่วนที่ใช่ โชคดีที่การ Debugging เป็นทักษะที่เรียนรู้ได้ซึ่งต้องใช้ความอดทนและฝึกฝนให้เชี่ยวชาญเพียงเล็กน้อย

Debugging

Use the JavaScript Console to Check the Value of a Variable

Understanding the Differences between the freeCodeCamp and Browser Console

Use typeof to Check the Type of a Variable

Catch Misspelled Variable and Function Names

Catch Unclosed Parentheses, Brackets, Braces and Quotes

Catch Mixed Usage of Single and Double Quotes

Catch Use of Assignment Operator Instead of Equality Operator

Catch Missing Open and Closing Parenthesis After a Function Call

Catch Arguments Passed in the Wrong Order When Calling a Function

Catch Off By One Errors When Using Indexing

Use Caution When Reinitializing Variables Inside a Loop

Prevent Infinite Loops with a Valid Terminal Condition

Be the first to add a review.

Please, login to leave a review
Add to Wishlist

Archive