30 เมษายน 2555

Skill ที่ 2 - Debug skill


Skill ที่ 2-Debug skill


การ Debug คืออะไร?
Debug เป็นศัพท์ในการเขียนโปรแกรมคำนึงนะครับ
หมายถึงการทดสอบโปรแกรมที่เราเขียนขึ้นมา
เรียกอีกอย่างว่าการไล่โปรแกรมหรือไล่โค้ดนั่นเอง


การ debug โปรแกรมทำเพื่อ ทดสอบว่าโปรแกรมที่เราเขียนนั้น
มีการทำงานเป็นอย่างไร ตรงตามที่เราต้องการรึเปล่า
เพราะบางทีขั้นตอนที่เราคิดไว้ กับขั้นตคอนที่เราเขียนลงไป
อาจจะไม่ตรงกันก็ได้ เราจึงต้องมีการ debug โปรแกรมขึ้น


การ debug ทำได้หลายวิธีครับ
ง่ายสุดคือการ debug ด้วยสายตา ค่อยๆไล่ไปทีละบรรทัด ทีละคำสั่ง
เราจะ debug โปรแกรมได้ เราก็ต้องรู้ว่าเวลาคอมพิวเตอร์ทำงานจริงๆ ทำอย่างไร
เราต้องเลียนแบบการทำงานของ คอมพิวเตอร์ให้เป็นครับ
คอมพิวเตอร์เวลาทำงาน จะทำทีละคำสั่ง ทีละบรรทัด
ทีละขั้น ทีละตอน ตามที่เขียนไว้ทุกประการ
เพราะฉะนั้นตอนเรา debug โปรแกรมนั้น ต้องทิ้งนิสัยคนไปก่อน
นิสัยคนที่ผมว่าคือ common sense หรือสามัญสำนึกครับ


จากตอนที่แล้ว Logic skill ผมบอกไปแล้วว่าคอมพิวเตอร์ไม่มีตรงนี้
คอมพิวเตอร์คิดเองไม่เป็นครับ ไม่มีคิดเกิน คิดขาด
สั่งเท่าไหร่ทำเท่านั้น เพราะฉะนั้นเวลาเรา debug
เราต้องทิ้ง common sense ไปครับ อย่าไปคิดเอาเอง
อย่าไปเพิ่มคำสั่งที่เราไม่ได้เขียน แล้วก็อย่าไปตัดคำสั่งที่เราเขียนทิ้ง


"ทำทุกอย่างที่เขียนครับ" ไม่มีขาด ไม่มีเกิน นี่คือหัวใจของการ debug เลย
อย่างที่บอกครับ debug ก็เป็นทักษะๆนึง
จะคล่องได้ก็ต้องฝึกครับ
ฝึกด้วยการหัดไล่โปรแกรมต่างๆ
ทั้งโปรแกรมที่เราเขียนเอง หรือ โค้ดที่เราโหลดมาก็ตาม
อย่าลืมนะครับ อย่าใช้ common sense ตอนไล่โปรแกรม
อันนี้สำคัญมาก ถ้าคนเคยเขียนโปรแกรมจะเข้าใจที่ผมบอกครับ


เวลามือใหม่ไล่โปรแกรมที่เขียนเอง จะเผลอคิดเอาเองเสมอๆ
ทำให้บางครั้งเวลาเรารันโปรแกรมผลออกมาผิด
แต่พอเราไล่โปรแกรมด้วยสายตา ไล่ๆไป กลับรู้สึกว่าถูกแล้ว
นั่นเพราะ common sense นั่นเองครับ


สำหรับคนที่ไม่เคยเขียนโปรแกรมแล้วอ่านมาถึงตรงนี้อาจจะเริ่มไม่เข้าใจนะครับ
ว่าผมกำลังพูดถึงอะไรอยู่ ไม่ต้องตกใจไปครับ
ลองเขียนโปรแกรมดูซักพักแล้วกลับมาอ่านใหม่ครับ จะเข้าใจว่าผมพูดอะไร


ลองฝึกกันดูกับทักษะที่ 2 Debug skill หรือทักษะการไล่โปรแกรมนะครับ
ทักษะต่อไป อันนี้หลายคนชอบมากครับ
ผมฟันธงได้เลย โปรแกรมเมอร์มืออาชีพทุกคนใช้ skill นี้หากินครับ
ทักษะที่ 3 - copy & paste skill
(แล้วจะรู้ว่าโปรแกรมมิ่งง่ายกว่าที่คุณคิดมากๆ ครับ)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

 
Code Master Club Forum