การจัดระเบียบโค้ดเข้าไปในฟังก์ชัน

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, ซึ่งรวมตัวอย่างของการจัดระเบียบโค้ด.