Python:
การจัดระเบียบโค้ดเข้าไปในฟังก์ชัน
วิธีทำ:
ลองนึกถึงเมื่อคุณเขียนสคริปต์เพื่อคำนวณพื้นที่และปริมาตรของตัวเลขหนึ่งตัว หากไม่ใช้ฟังก์ชัน จะกลายเป็นโค้ดที่ซ้ำซาก:
num = 4
square = num * num
cube = num * num * num
print(f"พื้นที่: {square}, ปริมาตร: {cube}")
num = 5
square = num * num
cube = num * num * num
print(f"พื้นที่: {square}, ปริมาตร: {cube}")
ผลลัพธ์:
พื้นที่: 16, ปริมาตร: 64
พื้นที่: 25, ปริมาตร: 125
ด้วยฟังก์ชัน มันจะสะอาดขึ้น:
def square(n):
return n * n
def cube(n):
return n ** 3
num = 4
print(f"พื้นที่: {square(num)}, ปริมาตร: {cube(num)}")
num = 5
print(f"พื้นที่: {square(num)}, ปริมาตร: {cube(num)}")
ผลลัพธ์:
พื้นที่: 16, ปริมาตร: 64
พื้นที่: 25, ปริมาตร: 125
ลงลึก
ในอดีต เมื่อโปรแกรมมีความเรียบง่าย คุณสามารถผ่านพ้นไปได้ด้วยการเขียนเพียงรายการของคำสั่ง แต่เมื่อซอฟต์แวร์มีความซับซ้อนขึ้น นักพัฒนาก็ตระหนักว่าพวกเขาเขียนโค้ดเดิมซ้ำแล้วซ้ำเล่า สวัสดี ฟังก์ชัน—บล็อกโค้ดที่สามารถใช้ซ้ำได้และทำงานใดงานหนึ่ง
ทางเลือกอื่นสำหรับฟังก์ชัน ได้แก่ คลาส (การรวมฟังก์ชันกับข้อมูลที่มันดำเนินการ) และโค้ดอินไลน์ (ความฉลาดที่ฉันต้องการ แต่เสี่ยงสำหรับงานที่ซับซ้อน) จากมุมมองในการดำเนินการ ความลับไม่ได้อยู่ที่การสร้างฟังก์ชันเท่านั้น แต่ต้องทำให้มันทำงานหนึ่งอย่างได้ดี—คิดถึงหลักการขอบเขตความรับผิดชอบเดียว ฟังก์ชันควรจะไม่มีสถานะโดยทั่วไป หมายถึงไม่คาดเดาโดยข้อมูลที่เข้ามาหรือออกไป
ดูเพิ่มเติม
- บทช่วยสอน Python อย่างเป็นทางการเกี่ยวกับฟังก์ชัน: https://docs.python.org/3/tutorial/controlflow.html#defining-functions
- ‘Clean Code’ โดย Robert C. Martin, สำหรับหลักการเขียนฟังก์ชันที่สะอาด.
- ‘Refactoring: Improving the Design of Existing Code’ โดย Martin Fowler, ซึ่งรวมตัวอย่างของการจัดระเบียบโค้ด.