ฟังก์ชันและวัตถุประสงค์ของโปรแกรม
แนะนำใหม่| English | ความหมาย |
|---|---|
| purpose/ˈpɜːpəs/ | วัตถุประสงค์ |
| function/ˈfʌŋkʃn/ | ฟังก์ชัน |
| behavior/bɪˈheɪvjə/ | พฤติกรรม |
| Input/ˈɪnpʊt/ | อินพุต |
| Processing/ˈprəʊsesɪŋ/ | การประมวลผล |
| Output/ˈaʊtpʊt/ | ผลลัพธ์ |
| events/ɪˈvents/ | เหตุการณ์ |
| event-driven/ɪˈvent ˈdrɪvən/ | ขับเคลื่อนด้วยเหตุการณ์ |
| event handler/ɪˈvent ˈhændlə/ | ตัวจัดการเหตุการณ์ |
จุดประสงค์ vs ฟังก์ชัน
- ก่อนเขียนโค้ด ให้ชัดเจนเรื่องแนวคิดที่เกี่ยวข้องสองอย่าง
- จุดประสงค์ของโปรแกรมคือ ทำไม มันถึงมีอยู่ — ปัญหาที่มันแก้
- ฟังก์ชันคือ อะไร มันทำ — พฤติกรรมที่ผู้ใช้เห็น
- แอปสภาพอากาศมี จุดประสงค์ คือ "ช่วยวางแผน"; ฟังก์ชัน ของมันคือ "แสดงพยากรณ์"
อินพุต, ประมวลผล, หรือเอาต์พุต?
โปรแกรมทุกตัวรับอินพุต มาประมวลผลตามคำสั่ง แล้วสร้างเอาต์พุต ออกมา จาแนกส่วนต่างๆ ของโปรแกรมให้อยู่ในขั้นตอนที่ถูกต้อง
วัตถุประสงค์ของโปรแกรมคือเหตุผลที่มีอยู่; ฟังก์ชันคือ:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
วัตถุประสงค์ = เป้าหมาย; ฟังก์ชัน = พฤติกรรมที่มองเห็นได้เพื่อให้บรรลุเป้าหมายนั้น
ข้อใดเป็นตัวอย่างของอินพุต?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
การกดคือข้อมูลที่โปรแกรมได้รับ ส่วนอื่น ๆ เป็นเอาต์พุต
โมเดล Input → Processing → Output
- โปรแกรมทุกตัว遵循แบบจำลองพื้นฐาน: อินพุต → การประมวลผล → เอาต์พุต (หรือที่เรียกว่า โมเดล IPO)。
- Input: ข้อมูลที่โปรแกรมได้รับ — การพิมพ์, เซนเซอร์, ไฟล์, อินเทอร์เน็ต
- Processing: ขั้นตอนที่ทำกับข้อมูลนั้น
- Output: ผลลัพธ์ — ข้อความ, เสียง, ไฟล์ที่บันทึก, โรบอทเคลื่อนที่
เรียงลำดับโมเดล IPO ให้เป็นระเบียบ
Difficulty 3/5 · 200 coins + a small bonus on first completion today
ข้อมูลเข้ามา, ถูกประมวลผล, และผลลัพธ์ออกมา
โปรแกรมที่รอและตอบสนองต่อการคลิกและการกดคีย์เรียกว่า ______-driven
Difficulty 1/5 · 100 coins + a small bonus on first completion today
เหตุการณ์แต่ละอย่างกระตุ้น event handler (ตัวจัดการเหตุการณ์)
โปรแกรมสามารถให้เอาต์พุตที่แตกต่างกันสำหรับอินพุตที่แตกต่างกัน
Difficulty 1/5 · 100 coins + a small bonus on first completion today
นั่นคือความหมายที่แท้จริงของพฤติกรรมโปรแกรม
พฤติกรรมและเหตุการณ์
- พฤติกรรมของโปรแกรมคือวิธีที่มันตอบสนองต่ออินพุต — อินพุตต่างกันอาจให้เอาต์พุตต่างกัน
- โปรแกรมสมัยใหม่ส่วนใหญ่เป็นแบบ กระตุ้นด้วยเหตุการณ์ (event-driven): พวกมันจะรอและตอบสนองต่อ เหตุการณ์ เช่น การคลิกเมาส์หรือการกดปุ่มคีย์บอร์ด
- แต่ละเหตุการณ์จะเรียกใช้โค้ดขนาดเล็กส่วนหนึ่งซึ่งเรียกว่า ตัวจัดการเหตุการณ์ (event handler)
- เกม ปุ่มบนเว็บไซต์ และแอปแชท ล้วนเป็นโปรแกรมที่ทำงานแบบกระตุ้นด้วยเหตุการณ์
โปรแกรมที่ออกแบบมาอย่างดีควร: (เลือกทุกข้อที่ถูกต้อง)
Difficulty 2/5 · 140 coins + a small bonus on first completion today
การออกแบบที่ดียังต้องจัดการกับอินพุตที่เป็นไปได้ทั้งหมด รวมถึงอินพุตที่ไม่ปกติด้วย
สิ่งที่โปรแกรมออกแบบดีทำได้
- แก้ไขปัญหา แท้จริง ให้กับผู้ใช้
- ชัดเจนเกี่ยวกับอินพุตที่คาดหวังและเอาต์พุตที่ให้
- ทำงานได้อย่าง เชื่อถือได้ ทุกครั้งที่รัน
- การคิดถึง ทุก อินพุตที่เป็นไปได้เป็นส่วนของการออกแบบที่ถูกต้อง
จุดประสงค์ของโปรแกรม (purpose) คือ เหตุผล ที่มันถูกสร้างขึ้นมา ส่วนฟังก์ชัน (function) คือ สิ่งที่ มันทำอยู่ ทุกโปรแกรมเข้าข่าย อินพุต → การประมวลผล → เอาต์พุต (โมเดล IPO) พฤติกรรม (behavior) ของโปรแกรมคือวิธีที่มันตอบรับต่ออินพุต — และโปรแกรมจำนวนมากเป็นแบบ กระตุ้นด้วยเหตุการณ์ โดยตอบสนองต่อการคลิกและการกดปุ่มผ่าน ตัวจัดการเหตุการณ์