การวางแผนการเขียนโปรแกรมที่ดีนั้น ควรเป็นอย่างไรครับ

ต้องบอกก่อนว่าผมไม่ได้เรียนนี้สายนี้มาเลย แต่ทุกวันนี้เป็น Web Developer รับงาน Freelance อยู่ครับ หลักๆที่ทำก็พวก PHP, JavaScript, CSS แหละครับ ด้วยความที่ผมไม่ได้เรียนมาโดยตรง Scope มาเลยกว้างจนไม่รู้ว่าการเขียนโปรแกรมที่ดีนั้นควรเป็นอย่างไร

ซึ่งถามจากหลายๆที่ รวมถึง Stackoverflow เนี่ยเค้าก็จะบอกว่า การทำ Web Application ต้องวางแผน ทำ Flowchart ก็ดี ประยุกต์ Waterfall มาใช้บ้างอะไรพวกนี้ ซึ่งตรงนี้แหละครับที่ผมอยากจะมาถามว่า จริงๆแล้วการเขียนโปรแกรมที่ดีคืออะไร? เพราะผมไม่รู้จริงๆ

สมมุติว่าเขียน Web Application ด้วย PHP ทั่วๆไป โครงสร้างเราก็ใช้ HTML กับ CSS ขึ้นรูปมันอยู่แล้วใช่ไหมครับ? ทีนี้เนี่ยส่วนของ Logic ของมัน แรกๆผมก็ฝังลงไปเลยกับพวก HTML นี่แหละ พอเริ่มศึกษาไปเรื่อยๆ เริ่มสร้างไฟล์แยกแล้ว include แต่ก็รู้สึกนอยๆอยู่ตลอดเวลาว่า มันไม่ถูกแน่ๆ เพราะผมไปสร้างไฟล์แยก แล้วก็ไปเขียน Class เพื่อใช้ include ไฟล์ ซึ่งตรงนี้เวลาไปเปิดหนังสือพวก MVC ถ้าเกิดมีการ include นี่เค้าใช้ template engine กันเลยเหรอครับ? แถมปกติการสร้างร้านค้าเราก็ไปดึงข้อมูลมาจากฐานข้อมูลเอาสินค้ามาแสดง ซึ่งก็แล้วแต่ว่าจะมีการแบ่งการแสดงผลยังไง แต่นี่บางทีผมเห็นเค้าสร้าง Class ของสินค้าขึ้นมาเลยแล้วบอกว่านี่คือ Model ซึ่งผมไม่ get เลยครับว่ามันคืออะไร? คือทำไมในเมื่อเราก็ดึงข้อมูลมาได้แล้วจะเอาไปสร้างเป็น Class ทำไม นี่ยังไม่รวมเวลาแสดงผลซึ่งเวลาไปถามเพื่อนก็บอกใช้วิธีดูดข้อมูลจาก template แล้วเอามาพ่นใส่หน้าหลัก... งงครับสรุป ก็เลยยิ่งนอยเข้าไปใหญ่

ยังไงผู้รู้ช่วยอธิบายทีนะครับ ทั้งเรื่อง MVC, เรื่องการดูดพ่นอะไรนี่ของระบบ template เหมือนประมารว่าเพื่อนผมมันบอกใช้คำสั่งดูดข้อมูลจาก HTML ที่สร้างไว้แล้วเอามาใส่ในหน้าหลัก

ขอบคุณมากครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่