|
จากเริ่มต้นเขียนโปรแกรมแบบธรรมดา สู่ FrameWork |
หลังจากที่ก้าวเข้าสู่ประตูอาชีพนักเขียนโปรแกรม ได้สังเกตว่าโปรแกรมเมอร์แต่ละคน หรือบริษัทแต่ละที่ จะมีรูปแบบสไตล์การเขียนโปรแกรมที่แตกต่างกัน ผมจึงอยากแชร์ให้มือใหม่ที่กำลังอ่านอยู่ได้รับรู้ และสร้างแรงบันดาลใจ ในการเรียนรู้เพื่อพัฒนาตัวเองไปอีกขั้น ซึ่งผมจะอธิบายถึงรูปแบบการเขียนโปรแกรมว่ามันมีรูปแบบการเขียนโปรแบบไหน อย่างไรบ้าง มาเริ่มกันเลยครับ
- Base Command การเขียนแบบพื้นฐาน ส่วนมากมือใหม่จะเริ่มกันแบบนี้ คือการเขียนโปรแกรมคำสั่งประมวลผลไว้ในหน้าเดียวกันเพื่อหาผลลัพธ์ วิธีแบบนี้เขียนง่าย อยากให้ประมวลผลอะไร ก็เขียนให้มันแสดงออกมาตรงนั้นเลย เช่น คำสั่งในการประมวลผลทางด้านฐานข้อมูล(Query), การเขียนคำสั่งประมวลผลเพื่อหาค่าคำนวณ ,การเขียน Shot Script อื่นๆ เป็นต้น
- Structure Programming การเขียนแบบแยกฟังก์ชั่น พอเราเริ่มเข้าใจการเขียนโปรแกรมมากขึ้น เริ่มรู้ทางละ ก็จะเขียนเป็นฟังก์ชั่น include เข้ามาแล้วก็เรียกใช้งาน จะช่วยให้เราไม่ต้องเขียนซอร์สโค้ดที่ซ้ำกันอยู่บ่อยๆ (น้องๆมือใหม่ถ้าปฏิบัติได้แบบนี้ถือว่ามีพัฒนาการที่ดีแล้วครับ)
- OOP Programming การเขียนโปรแกรมเชิงวัตถุ พอเรามีฟังก์ชั่นเยอะๆ ก็เริ่มจัดหมวดหมู่ฟังก์ที่ทำงานสอดคล้องกันไปรวมเข้าไว้ที่เดียวกัน เราจะเรียกว่า Class หรือวัตถุ 1 ชิ้นนั่นเอง เวลาเรียกใช้งาน Class มันจะสะดวก เพราะเรามี ฟังก์ชั่นต่างๆที่อยู่ใน Class รอตอบโจทย์ให้เราอยู่แล้ว เมื่อก่อนผมไม่ชอบเขียนเป็น Class หรอกครับ เพราะยังมองไม่ออกว่ามันตางจากการเรียกใช้ฟังก์ชั่นยังไง แต่ตอนนี้ Get ละครับ( น้องๆมือใหม่อาจจะยังมองภาพ OOP ไม่ออกว่ามันมีประโยชน์ยังไง ศึกษาไว้เป็นความรู้หน่อยก็ดีครับ บางคำตอบของคำถาม มันอาจจะอยู่ในเรื่อง OOP ก็ได้ ศึกษาไว้ครับ ไม่เสียหาย ^ ^)
- Frame Work จะเป็นการประยุกต์ล่ะทีนี้ ถ้าดูดีๆมันจะมีทุกเรื่องที่พูดมา คือ Class -> Function -> Base Command จะเห็นว่า Class จะใหญ่สุด และ หลายๆ Class ก็จะถูกเก็บไว้เป็น Library ไว้เรียกใช้งาน หรือไว้แจกจ่ายให้คนอื่นเอาไปพัฒนาต่อ หรือประยุกต์ใช้กันต่อไป
สำหรับใครที่ยังไม่รู้จักกับ Frame work ก็คงคิดว่าการเขียนแบบธรรมดา ผลลัพธ์ที่ออกมาก็ได้ตามความต้องการเหมือนกัน
คุณก็เข้าใจไม่ผิดหรอกครับ เพราะเมื่อก่อนผมก็คิดแบบนั้น เพราะผมไม่รู้ว่า Frame work มันจะมา่ช่วยอะไรผมได้
ศึกษาก็อยาก ทำความเข้าใจก็ยาก โค้ดก็ของคนอื่นพัฒนา สู้เราเขียนขึ้นเองทำความเข้าใจ ง่ายกว่า ภูมิใจกว่า
แต่ในเมื่อสถานะการณ์มันบังคับ ผมก็ต้องยอมเหนื่อยศึกษาเพื่อความอยู่รอด สุดท้ายแล้ว Frame work มันก็ตอบโจทย์ผมครับ
เมื่อก่อนผมเป็นคนบ้าพลัง ชอบฮาร์ดโค้ด ถ้าเปรียบเทียบเป็นเกมส์ ก็สาย Str ดีๆนี่เองครับ แ่ต่พอได้สัมผัส Frame work มันมาช่วยผ่อนแรงผมได้เยอะ ผมเป็นคนมีระบบ ระเบียบมากขึ้น พัฒนาระบบได้เร็วขึ้น Bug น้อยลง ถือได้ว่าเป็นการ
เพิ่มค่า Int และ Agi ให้ผมครบเครื่องได้เป็นอย่างดี
ที่ชม Frame work ไม่ได้บอกว่าการเขียนแบบใช้ Frame Work ดีที่สุดนะครับ อย่าไปยึดติดกับรูปแบบในการเขียนโปรแกรม จงเขียนโปรแกรมในรูปแบบที่ตัวเองถนัดที่สุดละกันครับ ผมโชคดีที่ได้เจอ เพราะสถานะการณ์มันบังคับ ^ ^
Frame Work มันก็เหมือนวัตถุดิบสำเร็จรูปในการประกอบอาหาร เช่น ผงชูรส,น้ำปลา,น้ำตาล,พริก,ขิง,ข่า,ตะไคร้,มะกรูด,มะนาว ... ที่เราสามารถหยิบมาปรุงแต่งได้เลย โดยที่เราไม่ต้องไปผลิตหรือเริ่มปลูกใหม่ก็แค่นั้นเองครับ
หลายคนอาจสงสัยว่าโค้ดที่พัฒนาขึ้นมาเองจะเรียกว่า Frame work ได้ไหม เคยสงสัยเหมือนผมไหมครับ - -?
ผมยังเคยเข้าใจผิดด้วยความไม่รู้ว่า Joomla,Membo,Drupal,Presta shop,Moodle,อื่นๆ เค้าเรียกว่า Frame Work ด้วยซ้ำ แต่ที่ไหนได้มันไม่ใช่ Frame Work
Joomla , Mambo และ Open Sources ตัวอื่นๆที่พูดถึงมันคือ CMS ที่สำเร็จรูปแล้ว ใ้ช้งานได้เลยไม่ต้องไปยุ่งกับซอร์ดโค้ดอีก สามารถใส่เนื้อหา เพื่อทำเว็บไซต์ได้เลย ส่วน Frame work ก็ไม่ใช่ CMS
Frame Work มันเป็นแค่ โคลง ของระบบที่เราจะใช้พัฒนาต่อ ส่วนซอร์สโค้ดที่เราเขียนเป็นโคลงเอง จะเรียกว่า Frame Work ของเราก็ไม่ผิดหรอกครับ แต่โคลงโปรแกรมของผม ผมเรียกมันว่า เอ็นจิ้น(Engine)
แนะนำสำหรับคนที่อยากศึกษา PHP Frame Work สำหรับมือใหม่ต้องตัวนี้เลยครับ CI = CodeIgniter มี Help ที่เป็นภาษาไทยด้วย โดยนักโปรแกรมเมอร์คนไทยกลุ่มหนึ่ง คู่มือ CodeIgniter ภาษาไทย
ใช้คู่กับ Javascript Frame Work ตัวนี้ครับแหล่มมาก Ext JS ของ Sencha
ความรู้เล็กๆน้อยๆ ที่มาแชร์สู่กันฟังครับ หวังว่าหลายๆคนน่าจะรู้จักกับ Frame work ขึ้นบ้าง ไม่มากก็น้อยครับ
YO DEV MAN คนพันธ์เดฟ!
|
|
|
|
|
|
|
|
By : |
Yo Programmer
|
|
Article : |
บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ |
|
Score Rating : |
|
|
Create Date : |
2011-07-01 |
|
Download : |
No files |
|
Sponsored Links |
|
|
|
|
|
|