January 14, 2012

Python: ตรวจรูปแบบการเขียนด้วย pep8

PEP หรือ Python Enhancement Proposal คือข้อเขียน/ข้อเสนอโครงการสำหรับปรับปรุงเพิ่มความสามารถ Python ให้ดีขึ้น โดยที่ PEP 8 นั้นเป็นข้อเขียนสำหรับ coding standard ของ Python ที่เราควรยึดถือ

แน่นอนว่าเราควรเขียน code ตาม coding standard ที่วางไว้ แต่บางครั้งก็มีพลาดบ้าง เราสามารถเรียกโปรแกรม pep8 เพื่อตรวจสอบการเขียนได้ครับ

ก่อนอื่น (ฝั่ง Linux) ใช้ apt-get เพื่อดาวน์โหลด pep8 เรียบร้อยแล้วหาไฟล์ script.py ที่เราต้องการตรวจ แล้วสั่ง

สำหรับฝั่ง Windows ที่ไม่มี apt-get ก็สามารถใช้โปรแกรมนี้ได้เช่นกัน โดยการดาวน์โหลดไฟล์ pep8.py จาก Github แต่เวลาจะสั่งงานจะยุ่งยากกว่าเดิมเล็กน้อย ดังนี้

และต้องอย่าลืม copy ไฟล์ pep8.py ไปไว้ยังโฟลเดอร์เดียวกันกับไฟล์ที่ต้องการตรวจสอบด้วยครับ



หลังจากสั่งตรวจสอบไฟล์ script.py แล้ว ถ้าเราเขียนได้เรียบร้อยดีไม่มีปัญหา โปรแกรมจะไม่พิมพ์อะไรออกมาเลย (ตามสไตล์ของโปรแกรม Unix) แต่ถ้ายังมีรูปแบบการพิมพ์ที่ไม่ได้มาตรฐานอยู่ โปรแกรมจะพิมพ์ผลลัพท์ออกมาในรูปแบบนี้

เช่น

ทั้งนี้ เราอาจเห็นว่า error มีน้อย นั่นก็เพราะว่ามันจะแสดงข้อผิดพลาดที่ซ้ำๆ กัน (อย่างเช่นการใช้ tab) เพียงแค่ครั้งแรกครั้งเดียวครับ



เมื่อต้องการ option เพิ่ม เราสามารถขอดู help ได้เช่นโปรแกรม Unix ทั่วไป

option ที่สำคัญได้แก่
  • -v พิมพ์สถานะการทำงานออกมาเรื่อยๆ
  • -q แสดงแค่ชื่อไฟล์ที่มีข้อผิดพลาด มักใช้ในกรณี test หลายๆ ไฟล์
  • -r แสดงจุดที่ผิดพลาดทั้งหมด ไม่ใช่แค่ครั้งแรกที่เจอ
  • --show-source แสดง code ต้นฉบับด้วยเลยว่าผิดตรงไหน
  • --show-pep8 แสดงข้อแนะนำจาก PEP 8 ว่าควรเขียน code อย่างไร
  • --count นับว่าเขียนผิดทั้งหมดกี่จุด

อย่างไรก็ดี พึงระลึกไว้เสมอว่า pep8 เป็นเครื่องมือตรวจสอบความถูกต้องของ coding standard เท่านั้น code ที่เขียนผิดจน run ไม่ผ่านอาจไม่แสดง error ใน pep8 เลยก็ได้ครับ

No comments:

Post a Comment