มีคำถามที่น่าสนใจใน Quora ว่า
มีสิ่งแย่ ๆ อะไรบ้างที่ Programmer ควรหลีกเลี่ยง และ ลด ละ เลิก
หรือนำมาใช้ด้วยความระมัดระวัง
ซึ่งมีความคิดเห็นที่น่าสนใจมาก ๆ
จึงนำมาสรุปไว้นิดหน่อย
Bad :: เขียน code ที่ต้องการ comment
เคยไหมที่ต้องเขียน code
และต้องเขียน comment เพื่ออธิบาย code เหล่านั้นอีก !!
ดังนั้น ถ้าเกิดเหตุการณ์แบบนี้
แนะนำให้เรียนรู้ และ เพิ่มความสามารถเรื่อง
- การ refactoring code แบบ step-by-step
- การดูว่า bad code หรือ code แย่ ๆ เป็นอย่างไร
- เทคนิคในการออกแบบระบบที่ดี
Bad :: ยังทดสอบแบบ manual เป็นหลักกันอยู่
ดังนั้นสิ่งที่ต้องทำ คือ
ทำการเรียนรู้ และ นำ unit test มาใช้
หนึ่งในวิธีการคือ TDD (Test-Driven Development)
Bad :: เข้ารหัสชื่อตัวแปร method และ class
ชื่อต่าง ๆ ที่เราตั้งขึ้นมา ชอบเข้ารหัส ชอบย่อ
ดังนั้นจึงก่อให้เกิดการ comment code !!
Bad :: ทำสิ่งเดิม ๆ มาหลายปี
ดังนั้นให้เรียนรู้สิ่งใหม่ ๆ ทุกปี
ดังนั้นให้เรียนรู้ภาษา programming ใหม่ ๆ ทุกปี
ลองถามตัวคุณเองว่าเป็นอย่างไร ?
Bad :: มีขั้นตอนการทำงานแบบ manual และก็ทำซ้ำ ๆ อยู่เรื่อยไป
คล้าย ๆ กับการทดสอบแบบ manual เช่น
การเลื่อน mouse ไปกดปุ่ม build อยู่บ่อยครั้ง
การตรวจสอบข้อมูลใน log file
ซึ่งสิ่งที่ทำซ้ำ ๆ แบบนี้ น่าจะสร้างระบบขึ้นมาช่วยเหลือดีไหม ?
ให้มันทำงานแบบอัตโนมัติดีกว่า
แล้วเอาเวลาที่เหลือไปทำอย่างอื่นที่สำคัญกว่า
Bad :: เขียน class และ method ที่มีขนาดใหญ่
Programmer ส่วนใหญ่มักจะทำแบบนี้อยู่อย่างเสมอ
เรามักจะได้ยินพวก
- God class
- Fat controller
- Massive controller
- Fat service
และอื่น ๆ อีกมากมาย
ซึ่งล้วนบ่งบอกถึงปัญหาที่ได้รับ
ทั้งการอ่าน และ การทำความเข้าใจที่ยากมาก ๆ
เนื่องจากจำนวนบรรทัดของ code เยอะจัด
ไม่ต้องพูดถึงการแก้ไขเลยว่าจะยากเพียงใด
ดังนั้นหัดแยก code ที่ยาว ๆ ออกมาเป็น method และ class ใหม่ซะ
จงจำไว้ว่า Small is Better
ดู VDO เรื่อง RailsConf 2014 – All the Little Things by Sandi Metz เพิ่มเติมได้
Bad :: Copy and Paste Programming
เป็นสิ่งที่แย่มาก ๆ ควรเลิกทำได้แล้ว
หรือถ้าจะทำก็ควรมีสติก่อน start
แต่ส่วนใหญ่ที่ทำกันมักจะขาดสติ
มีอะไรอีกนะที่ Programmer ควร ลด ละ เลิกได้เล้ว ?