C#:
การจัดระเบียบโค้ดเข้าไปในฟังก์ชัน
วิธีการ:
จินตนาการว่าคุณมีโค้ดที่พิมพ์คำทักทายหลายครั้ง หากไม่มีฟังก์ชัน, จะเป็นเรื่องยุ่งยาก แต่ด้วยฟังก์ชัน, จะเป็นระเบียบ
// ไม่มีฟังก์ชัน - ซ้ำซาก
Console.WriteLine("Hello, Amy!");
Console.WriteLine("Hello, Bob!");
Console.WriteLine("Hello, Charlie!");
// มีฟังก์ชัน - สะอาดกว่า
void Greet(string name) {
Console.WriteLine($"Hello, {name}!");
}
Greet("Amy");
Greet("Bob");
Greet("Charlie");
ผลลัพธ์เหมือนกัน, แต่เวอร์ชั่นที่สองเรียบร้อยกว่ามาก
ลงลึก
กลับไปในสมัยภาษา assembly, คุณจะกระโดดไปยังส่วนต่างๆ ของโค้ดด้วย GOTO—ยุ่งยากและยากต่อการติดตาม ฟังก์ชันเป็นการอัพเลเวลที่สำคัญ, เหมือนกับลิ้นชักที่จัดระเบียบในกล่องเครื่องมือ ทางเลือกอื่น? แน่นอน คุณมีเมธอด, ซึ่งเป็นฟังก์ชันในบริบทของคลาส จากนั้นก็มีแลมบ์ดาและฟังก์ชันอินไลน์สำหรับงานที่รวดเร็วและครั้งเดียว
เกี่ยวกับการประยุกต์ใช้—ฟังก์ชันขนาดเล็กที่มีจุดเน้นชัดเจนเป็นทองคำ พวกมันง่ายต่อการทดสอบและดีบัก ฟังก์ชันขนาดใหญ่ที่มีหน้าที่มากมายสามารถกลายเป็นปัญหาใหญ่, ได้รับชื่อเสียงที่น่าสงสัยว่า “โค้ดสปาเก็ตตี้” คงที่กับหนึ่งหน้าที่ต่อหนึ่งฟังก์ชัน; คุณจะขอบคุณตัวเองในภายหลัง
ดูเพิ่มเติม
สำหรับเพิ่มเติมเกี่ยวกับฟังก์ชันและปฏิบัติที่ดีที่สุด, ตรวจสอบที่:
- Clean Code โดย Robert C. Martin: หลักการเพื่อรักษาฟังก์ชันของคุณให้เรียบร้อย
- Refactoring โดย Martin Fowler: วิธีการปรับปรุงโค้ดที่มีอยู่
- Microsoft C# Guide บน Methods: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/methods