การออกแบบและพัฒนาโปรแกรม
แนะนำใหม่| English | ความหมาย |
|---|---|
| process/ˈprəʊses/ | กระบวนการ |
| development process/dɪˈveləpmənt ˈprəʊses/ | กระบวนการพัฒนา |
| iterative/ˈɪtərətɪv/ | แบบวนซ้ำ |
| prototype/ˈprəʊtəʊtaɪp/ | ต้นแบบ |
| test/test/ | การทดสอบ |
| incremental/ˌɪŋkrɪˈmentl/ | แบบเพิ่มทีละส่วน |
| program requirement/ˈprəʊɡræm rɪˈkwaɪəmənt/ | ข้อกำหนดของโปรแกรม |
| Pseudocode/ˈsuːdəʊkəʊd/ | รหัสเทียม |
| comment/ˈkɒment/ | คำอธิบาย |
| Refining/rɪˈfaɪnɪŋ/ | การปรับปรุง |
การเขียนโค้ดเป็นกระบวนการ ไม่ใช่การ爆发的一次
- การเขียนโปรแกรมคือ กระบวนการ ไม่ใช่เพียงการพิมพ์ตัวอักษรครั้งเดียวจบ
- การข้ามขั้นตอนการออกแบบแล้วไปเขียนโค้ดทันที มักจะทำให้เสียเวลาเปล่าๆ
- Experienced programmers follow a repeatable development process.
- สิ่งที่ดีที่สุดคือ กระบวนการนี้ วนซ้ำ: คุณปรับปรุงงานได้เล็กน้อยในแต่ลรอบ
แนวปฏิบัติที่ดีคือการเริ่มเขียนโค้ดทันที โดยข้ามขั้นตอนการออกแบบ
Difficulty 1/5 · 100 coins + a small bonus on first completion today
การข้ามการออกแบบมักเสียเวลา — ควรวางแผนก่อน แล้วค่อยเขียนโค้ด
รอบเวียนแบบ迭代
- วงจรทั่วไปประกอบด้วยสี่ขั้นตอน: ตรวจสอบปัญหา, ออกแบบ, สร้างต้นแบบ, ทดสอบ
- ตรวจสอบปัญหา: ทำความเข้าใจกับโจทย์และผู้ใช้งาน — อินพุตและเอาต์พุตอะไรที่สำคัญ?
- ออกแบบโครงสร้าง, สร้าง ต้นแบบคร่าวๆ, แล้ว ทดสอบด้วยอินพุตหลากหลายรูปแบบ
- กระบวนการนี้เป็นแบบ วนซ้ำ (iterative) และ เพิ่มพูน (incremental): ทำซ้ำโดยปรับปรุงทีละน้อยในแต่ละรอบ
รอบการพัฒนาแบบวนซ้ำ
การพัฒนาวนลูปผ่านขั้นตอนตรวจสอบ, ออกแบบ, สร้างต้นแบบ, และทดสอบ — ปรับปรุงโปรแกรมเล็กน้อยในแต่ละรอบ
เรียงลำดับรอบการพัฒนา一次 (one pass of the development cycle)
Difficulty 3/5 · 200 coins + a small bonus on first completion today
ตรวจสอบ → ออกแบบ → สร้างต้นแบบ → ทดสอบ แล้ววนกลับ
กระบวนการที่ซ้ำขั้นตอนเดิมๆ และปรับปรุงเล็กน้อยทุกครั้ง เรียกว่า ______
Difficulty 1/5 · 100 coins + a small bonus on first completion today
การพัฒนาแบบ iterative และ incremental จะวนลูปเพื่อปรับแต่งโปรแกรม
เครื่องมือวางแผน
- ข้อกำหนดของโปรแกรม (program requirement) คือสิ่งที่โปรแกรมต้องทำอย่างเฉพาะเจาะจง — ควรระบุรายการนี้ไว้ก่อนเพื่อให้อยู่ในเป้าหมาย
- 伪代码 (Pseudocode) คือร่างลอจิกที่เขียนด้วยภาษาธรรมดา ก่อนที่จะเริ่มเขียนโค้ดจริง
- มันอ่านคล้ายภาษาอังกฤษ แต่มีโครงสร้างตามขั้นตอนของโปรแกรม ทำให้ทีมสามารถตกลงในแผนร่วมกันได้
伪代码 สำหรับเกมทายตัวเลข: เลือกตัวเลขลับ → ถามผู้ใช้ให้ทาย → ถ้าเลขสูงเกินไปหรือต่ำเกินไป ให้บอกและถามอีกครั้ง → ทำซ้ำจนทายถูก ไม่มีไวยากรณ์ที่ตายตัว มีเพียงแผนการเท่านั้น
Pseudocode คือ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
อ่านเหมือนภาษาอังกฤษแต่มีรูปแบบขั้นตอนแบบโปรแกรม
Comment ใน source code คือ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
คอมเมนต์อธิบายโค้ดที่ซับซ้อนให้ผู้ đọcมนุษย์เข้าใจ
การปรับปรุงโปรแกรมหลังการทดสอบเป็นเรื่องปกติและเป็นสิ่งที่คาดหวังในการพัฒนา
Difficulty 1/5 · 100 coins + a small bonus on first completion today
เวอร์ชันแรกมักไม่ใช่เวอร์ชันสุดท้าย
รักษาให้อ่านง่าย
- คอมเมนต์ (comment) คือข้อความอธิบายในซอร์สโค้ดที่คอมพิวเตอร์ไม่สนใจแต่มนุษย์อ่านได้
- ทีมงานยังมักบันทึก日志การพัฒนา (development log) เพื่อจดบันทึกความคิดต่างๆ ไว้ด้วย
- สติทัศน์สำคัญ: เวอร์ชันแรกนั้นแทบจะไม่เคยเป็นเวอร์ชันสุดท้าย
- การปรับปรุงโปรแกรมหลังการทดสอบเป็นเรื่องปกติและเป็นสิ่งที่คาดหวัง ไม่ใช่ความล้มเหลว
การเขียนโปรแกรมคือ กระบวนการพัฒนาแบบวนซ้ำ: สำรวจ → ออกแบบ → สร้างต้นแบบ → ทดสอบ โดยวนซ้ำเพื่อปรับปรุงเล็กน้อยในแต่ละรอบ วางแผนด้วย ข้อกำหนดที่ชัดเจน และ 伪代码 (pseudocode) ทำให้โค้ดอ่านง่ายด้วย คอมเมนต์ และคาดหวังว่าจะต้อง ปรับปรุง ต่อเนื่อง — เวอร์ชันแรกมักไม่ใช่เวอร์ชันสุดท้าย