ในบล๊อกนี้จะพูดถึง Flowchart เป็นหลัก เนื่องจากเคยเขียนสรุปไปแล้ว เลยจะไม่ขอพูดถึงว่า Flowchart คืออะไรอีก สำหรับใครที่ยังไม่เคยอ่านสามารถกลับไปดูได้ที่ fundamental-programming
ทำไมต้องเขียน Flowchart
จากประสบการณ์ของเราตอนเริ่มเขียนโปรแกรมใหม่ๆ และหลังๆ ลองเก็บข้อมูลจากการสอนน้องๆ ดู พบว่าสาเหตุแรกๆ ที่ได้ยินโจทย์ปุ๊บจะเริ่มเขียนโค้ดเลยอ้าว .. แล้วมันผิดตรงไหน ก็เขียนโปรแกรมนะ
ใช่ มันไม่ผิดหรอก แต่อย่างที่เคยพูดไปในหัวข้อ ก่อนจะทำให้โปรแกรมฉลาดได้ โปรแกรมเมอร์ต้องฉลาดก่อน การเขียนโปรแกรมที่ถูกต้องไม่ใช่ว่าเปิดมาก็ซัดโค้ดเลย เราต้อง "ลำดับความคิด" ให้เสร็จก่อน
ถ้ายังไม่รู้ว่าโจทย์นี้มีวิธีคิดยังไงก็อย่าเริ่มเขียนเลย เขียนไม่ได้หรอก แรกๆ ขอแนะนำให้ใช้ tool ที่มีชื่อว่า "Flowchart" ในการลำดับความคิดของเรา และใช้การเขียนในกระดาษจะดีที่สุด จนเมื่อไหร่ที่เชี่ยวชาญแล้วระดับฟังโจทย์ปุ๊บ Flowchart โผล่มาในหัวปั๊บ จะเลิกเขียน Flowchart ก่อนเขียนโปรแกรมก็ย่อมได้เพราะถ้าถึงระดับนั้นแสดงว่าคุณรู้จักการลำดับความคิดแล้วยังไงล่ะ
เขียน Flowchart (ก็ยากแล้ว) ได้แล้ว แต่ดันแปลงเป็นโค้ดโปรแกรมไม่ได้
เอาล่ะ สมมุติว่าเราได้โจทย์มาข้อหนึ่ง แล้วหลังจากนั่งๆ นอนๆ ขีดๆ เขียนๆ ไปพักใหญ่ๆ เราก็ได้เจ้านี่มาเป็น Flowchart คำตอบของโจทย์นี้ wow!
แต่เอาล่ะสิ! Flowchart ซับซ้อนขนาดนี้จะเขียนโค้ดยังไงล่ะนั่น
อันดับแรกอย่างเพิ่งกลัวมันเพียงเพราะเส้นมันเยอะ ไม่ว่ามันจะซับซ้อนแค่ไหน ส่วนใหญ่รูปแบบมันจะตกอยู่แค่ 4 รูปแบบเท่านั้นแหละ


