วันเสาร์ที่ 3 พฤศจิกายน พ.ศ. 2555

Python? Django?

ช่วงนี้ Python กำลังรุมเข้ามา รวมทั้งคำถามต่าง ๆ มากมาย
ส่วนตัวแล้วใช้งาน Python ทำงานอยู่แล้ว  มันไม่ได้มีอะไรพิเศษมากมาย ไปกว่า ภาษาอื่น ๆ เท่าไหร่ แต่ที่ผมสนใจคือ ความเรียบง่าย และการจัดการที่เป็นระเบียบ มันเรียบง่าย แบบ "Simple is all complexities behind"

มันเป็นระเบียบจนบางคน บอกว่ามันเกินไปด้วย

แต่สำหรับผมที่เคยใช้ C PHP Java ผมคิดว่าสิ่งที่สำคัญของการพัฒนาร่วมกันคือ coding standard ซึ่งถ้าเป็นภาษาอื่น ๆ นั้น เวลาพัฒนาต้องมากำหนดกันให้รัดกุมเลยทีเดียว

อีกสิ่งหนึ่งที่สำคัญคือ Document on Coding หรือไม่ก็คู่มือการใช้งาน เพราะการพัฒนาอะไรขึ้นมานั้น ถ้าหากมีที่ไปที่มาได้แล้ว การดำเนินการต่อโดยตนเองหรือผู้อื่น นั้น ก็จะเป็นอะไรที่ง่ายต่อการเข้าใจได้

เพราะว่าหากเรากำลังพัฒนาอะไรซักอย่าง แล้วสามารถมีคนนำไปใช้ต่อได้นั้น ย่อมเป็นประโยชน์ไม่มากก็น้อย

เมื่อกล่าวถึงตรงนี้ ก็ขอ รวบรวมสิ่งที่ผมได้จากประสบการณ์ในการทำงานพัฒนาระบบ ดังนี้


  1. กำหนดไปให้แน่นอนเลยว่าเราจะพัฒนาอะไร
  2. ในสิ่งที่จะพัฒนานั้น สามารถแยกเป็นส่วนย่อย ๆ ได้หรือไม่ ถ้าได้ก็กำหนดให้แต่ละส่วนแยกออกจากกัน และสามารถรวมกันได้ในภายหลัง (http://en.wikipedia.org/wiki/Separation_of_concerns)
  3. จากส่วนต่างๆ ที่แยกออกมาจากกันนั้น ก็ให้ทำในแต่ละส่วนให้ดีที่สุด
  4. ถ้าหากในส่วนย่อย ๆ ใดมีคนที่เคยทำไว้แล้ว ให้นำกลับมาใช้ หรือนำมาปรับปรุงให้ดีขึ้น
  5. กำหนดอายุของระบบที่เราจะพัฒนา เช่น 5 ปี 10 ปี เพราะว่าไม่มีอะไรยืนยาว หรือไม่ก็กำหนดไปเลยว่าเมื่อถึงเวลาที่มีเทคโนโลยีอะไรที่ดีกว่า ก็แนะนำให้ลองเปลี่ยนแปลงดู
  6. นึกถึงคนอื่นที่ต้องมาสานต่อด้วย
  7. ทำทุกอย่างให้ง่าย เข้าใจง่าย อ่านง่าย ไว้

และสิ่งที่ผมเขียนไว้ ผมจะลองทำดูกับ django ที่ผมกำลังทำระบบอยู่
ref: http://en.wikipedia.org/wiki/Separation_of_concerns

วันศุกร์ที่ 2 พฤศจิกายน พ.ศ. 2555

ผ่านไปอีกวัน

มันผ่านไปด้วยอาการหืดหอบ

  1. ถ้าเป็นเมื่อ 5 ปีที่แล้ว ตัดสินใจได้เลย
  2. สิ่งที่ผมคิดจะทำ เหมือนกันกับที่ท่านกำลังจะทำ
  3. python มันยังครองโลกต่อไปอีก
  4. ชีวิตมีอะไรมากกว่างาน