อาทิตย์นี้หมดมุกครับ ปั่นแต่งานๆๆ (ฮว้ากกกกกกกกก) เลยจับเกร็ดเล็กเกร็ดน้อยที่นึกขึ้นมาได้ระหว่างทำงานมาเขียนรวมกันซะเลย

  • Deadline ไม่ใช่ข้ออ้างที่จะเขียน Code ให้สกปรก ถึงจะทำงานตาม Requirement เสร็จออกมาได้ แต่เราจะต้องเสียใจอีกในไม่ช้าแน่นอน
  • ในการเขียน Web App ความเป็นระเบียบของ Code นั้นสำคัญมาก เพราะมันเป็นอะไรที่เขียนได้ไม่มีวันเสร็จ เราต้องอยู่กับมันไปอีกนาน ถ้า Code เริ่มเละจะพาลไม่อยากยุ่งด้วยเอา
  • ถึงจะเกลียดการ Hack (Code) แค่ไหน แต่หลายๆ ครั้งมันก็จำเป็น อย่างน้อยก็ Comment พร้อมลงชื่อไว้หน่อยว่าเรา Hack อะไรไป จะทำให้ชีวิตมีความสุขขึ้น เมื่อต้องกลับมาอ่าน Code ตัวเองในอีกหลายเดือนต่อมา
  • ออกแบบระบบไว้ดี มีชัยไปกว่าครึ่ง
  • การออกแบบระบบที่ดี ไม่ใช่แค่ให้มันทำงานตาม Requirement ได้ Optimize ที่สุดเท่านั้น แต่ต้องให้มันรองรับการเปลี่ยนแปลงในอนาคตด้วย
  • เวลาเก็บ Log นอกจากจะบอก State ของโปรแกรมแล้ว บอกว่า Error อยู่ใน Class ไหน, Method ไหน จะช่วยให้การตามหาจุดที่ต้องแก้ไขทำได้สะดวกขึ้น
  • อย่าสักแต่เก็บ Log แต่ต้องนึกถึงวิธีที่จะเอาข้อมูลจาก Log ออกมาดูใน Context ที่ต้องการด้วย ไม่งั้นก็จะกลับไป Debug ด้วยการ Print นู้นนี่มาดูอีกเหมือนเดิม
  • เสียเวลาสักหน่อยเขียนระบบให้ Web Application เมลล์หาเราเมื่อเกิด Error จะช่วยให้เรา Support ปัญหาต่างๆ ได้สะดวก และทันท่วงทีขึ้นเยอะ
  • อย่าเชื่อใจ Code ชาวบ้านมาก Code ที่ดูเป็นระเบียบไม่ได้แปลว่ามันเวิร์ค แต่แปลว่าเราจะทำความเข้าใจและเข้าไปทำให้มันเวิร์คได้ง่ายขึ้น
  • การใช้ Framework ช่วยงานเราได้เยอะก็จริง แต่ต้องใช้ให้เป็นด้วย ไม่งั้นจะกลายเป็นเสียเวลา Implement Feature ที่ Framework มีให้อยู่แล้วไป
  • ORM ช่วยให้ชีวิตง่ายขึ้นก็จริง แต่สุดท้ายเวลา Deadline ใกล้เข้ามา และติดปัญหา Performance เราก็เขียน Optimized Query Hack แทรกเข้าไปอยู่ดี
  • คำที่ว่าเกลียดอะไรมักได้สิ่งนั้นนี่ท่าจะจริง ผมบ่นเรื่อง PHP ได้เป็นวันๆ แต่สุดท้ายมันดันเป็นภาษาที่ผมชำนาญมากกว่า Python สุดรักไปซะแล้ว (ต้องจับมันทำ Project อยู่ตลอดนี่นะ)
  • อย่าเชื่อใจ Garbage Collection ของ PHP เด็ดขาด ทำลาย Object แบบ Manual ซะตั้งแต่ต้น จะช่วยประหยัดเวลาที่ต้องมาแก้ไข Memory Leak ทีหลังได้เยอะ หลายครั้งที่ผมได้ Memory กลับมาเป็นร้อย MB ด้วยคำสั่ง unset($unused_var) เพียงบรรทัดเดียว

เริ่มรู้สึกว่ายิ่งบ่นยิ่งมัน มีเรื่อยให้บ่นได้เรื่อยๆ ดูท่าว่าคงได้เขียนบ่นแนวๆ นี้ต่ออีกเป็นซีรีส์แหงๆ ใครมีอะไรจะบ่นเพิ่มเติมก็เขียนทิ้งไว้ใน Comment ได้นะครับ

ป.ล. ภาพเปิด Post คราวนี้ก็ไม่ได้เกี่ยวข้องอะไรกับเนื้อหาอีกแล้วครับ แค่ Search จาก Danbooru ซั่วๆ แล้วแปะโลด เห็น Kaguya กับ Eirin (จากเกม Touhou) ทำหน้าเนือยๆ แล้วรู้สึกมันเข้ากับอารมณ์เซ็งๆ ตอนนี้ดี
ป.ล. 2 ตอนแรกว่าจะเอาใส่หมวด Ranting แต่ดูแล้วเนื้อหามันออกไปทาง Development มากกว่า และอาจจะมีประโยชน์กับคนอื่นในอนาคต เลยไว้หมวดนี้แล้วกัน