เมื่อไม่นานมานี้ฉันได้ตรวจสอบคลาสแบบคงที่ "ยูทิลิตี้กระเป๋า" คลาสแบบคงที่ที่ลอยอยู่รอบ ๆ โค้ดโค้ด C # ขนาดใหญ่บางตัวที่ฉันทำงานด้วย
// Helpers.cs
public static class Helpers
{
public static void DoSomething() {}
public static void DoSomethingElse() {}
}
วิธีการเฉพาะที่ฉันตรวจสอบคือ
- ส่วนใหญ่ไม่เกี่ยวข้องกัน
- โดยไม่ต้องระบุสถานะชัดเจนตลอดการขอร้อง
- ขนาดเล็กและ
- แต่ละประเภทมีการบริโภคหลากหลายประเภท
แก้ไข: ข้างต้นไม่ได้มีไว้เพื่อรายการปัญหาที่ถูกกล่าวหา นี่คือรายการลักษณะทั่วไปของวิธีการเฉพาะที่ฉันรีวิว เป็นบริบทที่ช่วยให้คำตอบนำเสนอโซลูชันที่เกี่ยวข้องมากขึ้น
สำหรับคำถามนี้ฉันจะอ้างถึงวิธีการชนิดนี้เป็น GLUM (วิธีการใช้งานที่มีน้ำหนักเบาทั่วไป) ความหมายเชิงลบของ "กลัม" มีวัตถุประสงค์บางส่วน ฉันขอโทษถ้าสิ่งนี้เจอในฐานะปุนโง่
แม้แต่การทิ้งความสงสัยเริ่มต้นของฉันเองเกี่ยวกับ GLUMs ฉันไม่ชอบสิ่งต่อไปนี้เกี่ยวกับเรื่องนี้:
- คลาสแบบสแตติกกำลังถูกใช้เป็นเนมสเปซ แต่เพียงผู้เดียว
- ตัวระบุคลาสแบบสแตติกนั้นไม่มีความหมาย
- เมื่อเพิ่ม GLUM ใหม่คลาส (a) คลาส "bag" นี้จะไม่ได้รับการสัมผัสโดยไม่มีเหตุผลหรือ (b) คลาส "bag" ใหม่จะถูกสร้างขึ้น (ซึ่งโดยปกติแล้วมันจะไม่เป็นปัญหา คลาสแบบสแตติกมักจะทำซ้ำปัญหาที่ไม่เกี่ยวข้อง แต่มีวิธีการน้อยกว่า)
- เมตาตั้งชื่อคือหลีกเลี่ยงไม่ได้อันยิ่งใหญ่ที่ไม่ได้มาตรฐานและมักจะไม่สอดคล้องกันภายในไม่ว่าจะเป็น
Helpers
,Utilities
หรืออะไรก็ตาม
อะไรคือรูปแบบที่ดีและเรียบง่ายที่มีเหตุผลสำหรับการรีแฟคเจอริ่งนี้โดยเน้นที่ความกังวลข้างต้นและควรสัมผัสเบาที่สุดเท่าที่จะทำได้
ฉันควรจะเน้น: วิธีการทั้งหมดที่ฉันจัดการด้วยนั้นไม่เกี่ยวกับกัน ดูเหมือนจะไม่มีวิธีที่เหมาะสมที่จะทำลายพวกเขาลงในถุงเมธอดคลาสแบบคงที่ที่ละเอียดยิ่งขึ้น แต่ยังคงมีสมาชิกหลายคน