Skill เบื้องต้นของ Programmer ตอนที่ 2: Read Error Message
อ่าน Error Message ให้ออก แล้วลองแก้ปัญหาตามที่เขาบอกเรา
Error Message จาก Syntax Error
[ประสบการณ์จากการเป็นพี่คุม Lab โดนเรียกถามบ่อยมาก
ผลคือ เด็กไม่อ่านกัน จ้องจะถามอย่างเดียว]
เราจะเห็นได้ว่า มันเป็นแค่ ภาษาอังกฤษที่อ่านไม่ยากเท่าไรเ ลยนะ
ส่วนใหญ่จะบอกบรรทัดที่ Error ด้วย (ควรจะเปิด Line Number ของ Text Editor)
แต่บางทีก็ไม่เป๊ะหรอกนะ ให้มองสัก -2 บรรทัดที่มันบอกว่า Error จะดีมาก
(กรณีใน Lab ที่ม. ล่ะ เพราะใช้ GCC Compiler เป็นหลัก)
ลองหัดอ่านกันดูนะ ... มันไม่ได้ยากอะไรหรอก ช่วยให้แก้ปัญหาได้อย่างรวดเร็ว ด้วย ส่วนใหญ่ไม่อ่านกัน ... แต่ถ้าเป็น Error Message ที่ไม่เคยเห็นจริงๆ ล่ะก็ ...
วิธีที่ดีที่สุดคือ "copy Error Message and Paste tohttp://www.google.com/" :P
ดูตัวอย่างกัน !!
ขอเทียบ Error Message ระหว่าง GCC Compiler กับ Clang (LLVM Front End of C/C++/Objective-C)
จากภาพ Compile ครั้งแรก (gcc even_odd.cpp, clang even_odd.cpp)
จะเห็นว่า GCC บอกว่า เราลืม ; ก่อนคำสั่ง return ซึ่งอาจจะต้องกวาดสายตาดูบรรทัด ด้านบน
แต่ถ้าใช้ Clang จะเห็นว่า มันบอกเราโจ้งๆ เลยว่า ตรงนี้ผิด ... Friendly กว่านิดหน่อย
ส่วนครั้งที่ 2 ผมพิมพ์ผิดจาก endl เป็น end (end line in C++)
และลืม วงเล็บปีกกาปิด สักที่นึงในโค้ด
อ่านรายละหยาบเพิ่มเติมเกี่ยวกั บ Clang ได้ที่ http://clang.llvm.org/
สาเหตุหนึ่งที่เราไม่อ่านกัน อาจจะเป็นเพราะ
เด็กๆ หรือเด็กตัวโตๆ จะมีปัญหาที่ว่า ใช้ Text Editor ที่สวยเกินไป (Codeblock, Eclipse, etc.) ... จน Console ที่จะแสดง Log หรือ Error Message พวกนี้โดนบดบัง ใช้ ชีวิตสบายเกินไปกับ Ctrl + F9 (Build&Run in Codeblock) ลองมาลำบากกันดูซักนิดไหม :P
ลองมาหัดใช้ Command Line Compiling กันเถอะ (แบบที่เห็นจากภาพ)
แต่เราก็ต้องตั้งค่านิดหน่อย (บน Windows)
ผมเคยเขียนวิธีการไว้แล้วที่ Entry นี้
http://www.macbaszii.com/2012/ 01/ command-line-compiling-cc-java- windows.html
Error Message จาก Syntax Error
[ประสบการณ์จากการเป็นพี่คุม Lab โดนเรียกถามบ่อยมาก
ผลคือ เด็กไม่อ่านกัน จ้องจะถามอย่างเดียว]
เราจะเห็นได้ว่า มันเป็นแค่ ภาษาอังกฤษที่อ่านไม่ยากเท่าไรเ
ส่วนใหญ่จะบอกบรรทัดที่ Error ด้วย (ควรจะเปิด Line Number ของ Text Editor)
แต่บางทีก็ไม่เป๊ะหรอกนะ ให้มองสัก -2 บรรทัดที่มันบอกว่า Error จะดีมาก
(กรณีใน Lab ที่ม. ล่ะ เพราะใช้ GCC Compiler เป็นหลัก)
ลองหัดอ่านกันดูนะ ... มันไม่ได้ยากอะไรหรอก ช่วยให้แก้ปัญหาได้อย่างรวดเร็ว
วิธีที่ดีที่สุดคือ "copy Error Message and Paste tohttp://www.google.com/" :P
ดูตัวอย่างกัน !!
ขอเทียบ Error Message ระหว่าง GCC Compiler กับ Clang (LLVM Front End of C/C++/Objective-C)
จากภาพ Compile ครั้งแรก (gcc even_odd.cpp, clang even_odd.cpp)
จะเห็นว่า GCC บอกว่า เราลืม ; ก่อนคำสั่ง return ซึ่งอาจจะต้องกวาดสายตาดูบรรทัด
แต่ถ้าใช้ Clang จะเห็นว่า มันบอกเราโจ้งๆ เลยว่า ตรงนี้ผิด ... Friendly กว่านิดหน่อย
ส่วนครั้งที่ 2 ผมพิมพ์ผิดจาก endl เป็น end (end line in C++)
และลืม วงเล็บปีกกาปิด สักที่นึงในโค้ด
อ่านรายละหยาบเพิ่มเติมเกี่ยวกั
สาเหตุหนึ่งที่เราไม่อ่านกัน อาจจะเป็นเพราะ
เด็กๆ หรือเด็กตัวโตๆ จะมีปัญหาที่ว่า ใช้ Text Editor ที่สวยเกินไป (Codeblock, Eclipse, etc.) ... จน Console ที่จะแสดง Log หรือ Error Message พวกนี้โดนบดบัง ใช้ ชีวิตสบายเกินไปกับ Ctrl + F9 (Build&Run in Codeblock) ลองมาลำบากกันดูซักนิดไหม :P
ลองมาหัดใช้ Command Line Compiling กันเถอะ (แบบที่เห็นจากภาพ)
แต่เราก็ต้องตั้งค่านิดหน่อย (บน Windows)
ผมเคยเขียนวิธีการไว้แล้วที่ Entry นี้
http://www.macbaszii.com/2012/
Comments
Post a Comment