|
|
แถว 9: |
แถว 9: |
| Hello World! | | Hello World! |
| | | |
− | ==หลักการลดจำนวนบัก==
| + | Hello World! |
− | ถึงแม้ว่าการเีขียนโปรแกรมที่ไม่ให้มีข้อผิดพลาดเลยนั้น เป็นไปได้ยาก แต่การที่จะเขียนโปรแกรมที่สามารถจะหาข้อผิดพลาดที่มีในโปรแกรมได้ง่ายนั้นไม่เป็นสิ่งที่เกินความสามารถ
| |
− | ===Layout===
| |
− | สิ่งแรกที่จะทำให้หาข้อผิดพลาดในโปรแกรมได้ง่าย ก็คือต้องเขียนโปรแกรมโปรแกรมให้อ่านง่าย เพื่อที่จะได้สามารถทำความเข้าใจกับโปรแกรมได้ง่าย
| |
− | อย่างเช่น
| |
− | <nowiki>
| |
− | long power(int x,int y){
| |
− | long z=1;
| |
− | for (;y--;)z*=x;
| |
− | return z;
| |
− | } </nowiki>
| |
− | อ่านยากกว่า
| |
− | <nowiki>
| |
− | long power(int x,int y){
| |
− | long z=1;
| |
− | for (null;y--;null)
| |
− | z*=x;
| |
− | return z;
| |
− | } </nowiki>
| |
− | โดยหลักการง่ายๆก็คือ ใส่ช่องว่างเข้้าไปข้างหน้าแต่ละบรรทัด ให้สามาีรถแยกได้ว่า คำสั่งนี้ อยู่ในชุดคำสั่งไหน
| |
− | และพยายามใส่ null เข้าไปแทนคำสั่งที่ละไว้ เพื่อให้เข้าใจได้ง่ายว่าเป็นส่วนไหนของคำสั่ง
| |
− | | |
− | ===Name===
| |
− | ในการเขียนโปรแกรมนั้นมีการใช้ทั้งค่าคงที่ และตัวแปรต่างๆมากมาย
| |
− | เพื่อให้ง่ายต่อการทำความเข้าใจ และหาข้อผิดพลาดได้ง่ายนั้น โปรแกรมเมอร์ควรจะเลือกใช้ชื่อที่เข้าใจง่าย และสื่อถึงความหมายของตัวแปรหรือค่าคงที่นั้นๆ
| |
− | ตัวอย่างเช่น
| |
− | <nowiki>
| |
− | long power(int x,int y){
| |
− | long z=1;
| |
− | for (null;y--;null)
| |
− | z*=x;
| |
− | return z;
| |
− | } </nowiki>
| |
− | จะทำความเข้าใจได้ยากกว่า
| |
− | <nowiki>
| |
− | long power(int base,int index){
| |
− | long result=1;
| |
− | for (null;index--;null)
| |
− | result*=base;
| |
− | return result;
| |
− | } </nowiki>
| |
− | ===Copy&Paste===
| |
− | | |
− | ===Preprocesser===
| |
− | *<nowiki>#define</nowiki>
| |
− | *<nowiki>#if</nowiki>
| |
− | *<nowiki>#endif</nowiki>
| |
− | *<nowiki>#else</nowiki>
| |
− | *<nowiki>#ifdef</nowiki>
| |
− | *<nowiki>#ifndef</nowiki>
| |
− | | |
− | ===Trap===
| |
− | *[http://en.wikipedia.org/wiki/Invariant_%28computer_science%29 invariant]
| |
− | | |
− | กล่าวโดยสรุปแล้ว บัก เกิดเพราะความไม่รอบคอบและความไม่รู้ของโปรแกรมเมอร์ ดังนั้นการลดจำนวนบักที่จำเป็นก็คือ โปรแกรมเมอร์ต้องรอบคอบ และหาความรู้ใหม่ๆเพิ่มเติมอยู่อย่างสม่ำเสมอ
| |
รุ่นแก้ไขเมื่อ 05:29, 18 พฤษภาคม 2550
การทำอะไรสักอย่าง ถ้าไม่รอบคอบแน่นอนว่าจะมีข้อผิดพลาดเกิดขึ้นได้ง่าย ต่อให้รอบคอบแค่ไหน บางครั้งข้อผิดพลาดก็ยังเกิดขึ้นได้ เช่นเดียวกับการเขียนโปรแกรม ต่อให้โปรแกรมง่ายแค่ไหน สั้นแค่ไหน ก็มีโอกาสมีข้อผิดพลาดในโปรแกรมนั้นได้เสมอ จนมีคำกล่าวที่ว่า "มีข้อผิดพลาดอย่างน้อยหนึ่งที่ที่ยังหาไม่พบในโปรแกรมเสมอ"
อะไรคือบัก
เกริ่นเรื่องข้อผิดพลาดในโปรแกรมมาตั้งนาน ท่านผู้อ่านคงเริ่มสงสัยแล้วว่า ชื่อหัวข้อที่ว่า "การเขียนโปรแกรมแบบปลอดบัก" เกี่ยวข้องยังไงกับข้อผิดพลาด หลายๆท่านคงเริ่มเดาออกแล้วว่า เจ้า บัก นี่แหละ หมายถึงข้อผิดพลาดในโปรแกรม แต่บางท่านคงยังไม่ทราบว่าเหตุใดจึงเรียก ข้อผิดพลาดในโปรแกรมว่า บัก
บัก ในภาษาอังกฤษ เขียนว่า bug แปลว่า แมลง โดยในสมัยก่อน ช่วงที่คอมพิวเตอร์ยังเป็นเครื่องใหญ่ขนาดเท่าห้องอยู่นั้นอุปกรณ์แต่ละส่วนของคอมพิวเตอร์ก็ใหญ่กว่าในปัจจุบันมาก ใหญ่พอที่จะให้แมลงลงไปอยู่ระหว่างอุปกรณ์ต่างๆภายในเครื่องได้ โดยแมลงตัวแรกที่ถูกพบว่าไปติดอยู่ในเครื่องคอมพิวเตอร์ซึ่งเป็นเหตุให้เกิดข้อผิดพลาดขึ้นนั้น เป็นผีเสื้อกลางคืน ซึ่งถูกพบโดย Grace Murray Hopper ในเครื่อง Mark II ณ มหาวิทยาลัยฮาร์วาร์ด Grace Murray Hopperได้นำเอาซากของผีเสื้อกลางคืนออกจากเครื่อง Mark II และนำไปแปะไว้ในสมุดบันทึก(log book) ซึ่งการกระทำนี้เอง เป็นต้นกำเนิดของคำว่า ดีบัก(debug)
อ่านเพิ่มเติมได้ที่ประวัติของ"บัก"
Hello World!
Hello World!