ฉันได้ยินมามากมายเกี่ยวกับการทำให้วิธีการสั้นและฉันได้ยินโปรแกรมเมอร์จำนวนมากพูดว่าการใช้ #region tags ในวิธีนั้นเป็นสัญญาณที่แน่ใจว่ามันยาวเกินไปและควรได้รับการแบ่งเป็นหลาย ๆ วิธี อย่างไรก็ตามสำหรับฉันแล้วดูเหมือนว่ามีหลายกรณีที่การแยกรหัสด้วยแท็ก #region ภายในเมธอดนั้นเป็นวิธีที่เหนือกว่าในการรีแฟคเตอร์เป็นหลายวิธี
สมมติว่าเรามีวิธีการคำนวณที่สามารถแยกออกเป็นสามขั้นตอนค่อนข้างชัดเจน นอกจากนี้แต่ละขั้นตอนเหล่านี้มีความเกี่ยวข้องกับการคำนวณสำหรับวิธีการนี้เท่านั้นดังนั้นการแตกออกเป็นวิธีการใหม่ทำให้เราไม่ต้องใช้รหัสซ้ำ อะไรคือประโยชน์ของการแยกแต่ละขั้นตอนเป็นวิธีของตัวเอง? เท่าที่ฉันสามารถบอกได้สิ่งที่เราได้รับก็คือความสามารถในการอ่านและขอบเขตตัวแปรที่แยกต่างหากสำหรับแต่ละเฟส (ซึ่งจะช่วยป้องกันการแก้ไขเฟสเฉพาะจากการทำลายระยะอื่นโดยไม่ตั้งใจ)
อย่างไรก็ตามสิ่งเหล่านี้สามารถทำได้โดยไม่ต้องแยกแต่ละขั้นตอนเป็นวิธีของตนเอง แท็กภูมิภาคช่วยให้เราสามารถยุบรหัสลงในแบบฟอร์มซึ่งสามารถอ่านได้ (ด้วยสิทธิประโยชน์เพิ่มเติมที่เราไม่ต้องออกจากที่ของเราในไฟล์นี้อีกต่อไปหากเราตัดสินใจขยายและตรวจสอบรหัส) และเพียงห่อแต่ละเฟสใน{}
สร้างขอบเขตของตนเองเพื่อทำงานกับ
ประโยชน์ในการทำเช่นนี้คือเราไม่ได้ทำให้ขอบเขตระดับชั้นเรียนสกปรกด้วยวิธีการสามวิธีที่จริงแล้วเกี่ยวข้องกับการทำงานภายในของวิธีที่สี่เท่านั้น ทันทีที่เปลี่ยนโฉมหน้าวิธีการยาวเป็นชุดของวิธีการสั้น ๆ ดูเหมือนว่าฉันจะใช้รหัสเทียบเท่ากับการเพิ่มประสิทธิภาพก่อนวัยอันควร; คุณกำลังแนะนำความซับซ้อนเพิ่มเติมเพื่อแก้ไขปัญหาซึ่งในหลายกรณีไม่เคยเกิดขึ้น คุณสามารถแยกเฟสใดช่วงหนึ่งเป็นวิธีของตัวเองได้ในภายหลังหากมีโอกาสในการใช้รหัสซ้ำ
คิด?
#region
แท็กทั้งหมดฉันปิดการพับโค้ดใน Visual Studio ทั้งหมด ฉันไม่ชอบรหัสที่พยายามซ่อนจากฉัน