Screen Shot 2558-12-22 at 4.42.03 PM
มีคำถามที่น่าสนใจใน 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 ควร ลด ละ เลิกได้เล้ว ?