ข้อควรระวัง เมื่อเขียน Loop

Chotmanee Thong-aom
Arcadia Software Development
1 min readDec 14, 2018
function initialData(response){
for(let i=0; i<response.length; i++){
console.log(response[i]);
}
}

จาก source code ข้างต้น คุณพบข้อผิดพลาดที่มีโอกาสจะเกิดขึ้นหรือไม่?

ถ้าคุณคิดออกทันทีที่เห็น แสดงว่าเราเคยเจ็บปวดในเรื่องเดียวกัน

เหตุการณ์ที่จะเกิด error แบบไม่คาดฝัน เมื่อ function รับค่า NULL

Error ข้างต้น จะเกิดขึ้น เมื่อ Runtime ตอน Compile time จะรันผ่าน ทำให้เวลาเกิด Bug เราจะทราบตอนที่กด Run ไปแล้ว

ลองจินตนาการว่า เราเขียนฟังก์ชั่นแล้วเกิด Error แบบ Runtime โดยที่อาจจะ Test ไม่เจอจนผ่านไปถึง User Acceptance Testing (UAT) มันค่อนข้างจะกระทบถึงความเชื่อถือที่ User มีต่อระบบที่เราเขียน

ดังนั้น

บทความนี้จะมาเพื่อย้ำเตือน สิ่งที่เราควรจะมี เมื่อต้องจัดการกับข้อมูลที่มีหลายชั้น แล้วจำเป็นต้อง For Loop เพื่อเข้าถึงข้อมูล

วิธีป้องกันปัญหา

ที่จะไม่เกิด Error ข้างต้น สามารถทำได้โดยการ Check ว่าข้อมูลที่รับมามีค่า จึงจะเริ่มทำการ Loop ข้อมูล

function initialData(response){
if(response){
for(let i=0; i<response.length; i++){
console.log(response[i]);
}
}
}

บทสรุป

ให้ตั้ง Mine set ไว้เสมอว่า ข้อมูลที่เรากำลังจะจัดการ มีโอกาสเป็น NULL หรือไม่มีข้อมูล

--

--