การพัฒนา Procedure (Developing Procedures)
แนะนำใหม่| English | ความหมาย |
|---|---|
| define/dɪˈfaɪn/ | นิยาม |
| parameters/pəˈræmɪtəz/ | พารามิเตอร์ |
| procedural abstraction/prəˈsiːdʒərəl əbˈstrækʃn/ | การนามากระบวนการ |
| readability/ˌriːdəˈbɪlɪti/ | ความอ่านง่าย |
| duplication/ˌdjuːplɪˈkeɪʃn/ | ความซ้ำซ้อนของโค้ด |
การเขียน Workspace ของคุณเอง
- การเขียน Workspace ของคุณเองเป็นทักษะหลักในการเขียนโปรแกรม
- ในการ กำหนด Workspace ให้ตั้งชื่อที่ชัดเจน พารามิเตอร์ และบอดี้ของคำสั่ง
- จากนั้นคุณสามารถเรียกมันได้ทุกที่ที่ต้องการให้งานนั้นสำเร็จ
- Workspace ที่ดีควรทำหน้าที่ที่ชัดเจนเพียงอย่างใดอย่างหนึ่ง
ในการกำหนด procedure คุณต้อง给它:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
สามส่วนนี้ทำให้เป็น procedure ที่นำกลับมาใช้ใหม่ได้
พารามิเตอร์ให้ความยืดหยุ่น
- ใช้พารามิเตอร์เพื่อให้ Workspace สามารถทำงานกับค่าอินพุตที่แตกต่างกัน
greet(name)สามารถทักทาย ใครก็ได้ เพราะผู้เรียกระบุชื่อในแต่ละครั้ง- หากไม่มีพารามิเตอร์ คุณจะต้องมี Workspace แยกต่างหากสำหรับแต่ละชื่อ
- พารามิเตอร์คือสิ่งที่ทำให้ Workspace เดียวกันสามารถใช้ซ้ำได้ในหลายกรณี
เป็น candidate ที่ดีสำหรับ Procedure หรือไม่?
ดึงเป็น procedure เมื่อส่วนงานมีวัตถุประสงค์ชัดเจนหรือซ้ำในหลายจุด; บรรทัดที่ทำครั้งเดียวที่ไม่ซ้ำกันไม่จำเป็นต้องมี procedure ของตัวเอง
ทำไม greet(name) ต้องใช้ parameter?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
ผู้เรียกส่งชื่อที่แตกต่างกันทุกครั้ง
การแยกปัญหาใหญ่ออกเป็นขั้นตอนย่อยๆ โดยแต่ละขั้นตอนมีหน้าที่เดียว คือ ______ การห่อหุ้ม.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
การห่อหุ้มตามลำดับขั้นตอนช่วยให้โปรแกรมขนาดใหญ่จัดการได้ง่ายขึ้น
การห่อหุ้มแบบขั้นตอน
- Workspace ช่วยให้คุณใช้ ความนามธรรมแบบ Workspace (procedural abstraction) — โดยแบ่งปัญหาขนาดใหญ่ออกเป็นส่วนย่อยๆ ที่จัดการได้ง่าย
- แต่ละส่วนกลายเป็น Workspace ที่มีหน้าที่ที่ชัดเจน
- คุณพิจารณาเฉพาะส่วนย่อยๆ ไม่ใช่โปรแกรมที่ซับซ้อนทั้งชุดพร้อมกัน
- นี่คือวิธีที่โปรแกรมขนาดใหญ่ยังคงเข้าใจง่าย
การนำโค้ดซ้ำซ้อนเข้าไปอยู่ในขั้นตอนเดียวจะช่วยลด:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
หนึ่งขั้นตอนมาแทนที่หลายสำเนาของบรรทัดเดียวกัน
เมื่อใช้ขั้นตอน greet การเปลี่ยนข้อความทักทายหมายถึงการแก้ไขแค่จุดเดียว ไม่ใช่สามจุด
Difficulty 1/5 · 100 coins + a small bonus on first completion today
จุดที่ต้องแก้ไขน้อยลง means โอกาสเกิดข้อผิดพลาดก็น้อยลง
ชื่อขั้นตอนที่ชัดเจน เช่น calculateTax() ช่วยให้นักอ่านเข้าใจเจตนาได้รวดเร็ว
Difficulty 1/5 · 100 coins + a small bonus on first completion today
ชื่อที่ดีช่วยให้อ่านง่ายและนำไปใช้ซ้ำได้
ประโยชน์ใหญ่สองประการ
- Workspace ที่มีชื่อที่ดีช่วยเพิ่ม ความอ่านง่าย (readability) และการใช้ซ้ำ: ผู้อ่านเห็น
calculateTax()ก็เข้าใจเจตนาได้ทันที - การใส่โค้ดที่ซ้ำกันใน Workspace ช่วยลด **ความซ้ำซ้อน
ขจัดความซ้ำซ้อน โปรแกรมพิมพ์ข้อความทักทายสามบรรทัดเดียวกันในสามจุด — นั่นคือความซ้ำซ้อน กำหนด Workspace เดียว greet(name) ที่มีบรรทัดเหล่านั้น; ตอนนี้แต่ละจุดเป็นการเรียกเพียงครั้งเดียว: greet("Ana"), greet("Bo"), greet("Cy"). แก้ไขข้อความทักทายเพียงครั้งเดียว ไม่ต้องแก้สามครั้ง
ในการ กำหนด Workspace ให้ตั้งชื่อ พารามิเตอร์ และบอดี้ พารามิเตอร์ช่วยให้ Workspace เดียวจัดการอินพุตได้หลากหลาย (greet(name)). นี่คือ ความนามธรรมแบบ Workspace — แบ่งปัญหาออกเป็นงานย่อย ผลลัพธ์ที่ได้คือ ความอ่านง่าย ที่ดีขึ้นและความซ้ำซ้อนที่น้อยลง (แก้ไข Workspace เพียงตัวเดียว ไม่ต้องแก้หลายสำเนา)