[.NET] ประกาศให้โลกรู้ว่า Method นี้ Class นั้น ตกยุคแล้ว !!!

จาก Code เล็กๆ เมื่อวันเวลาผ่านไป มันก็เติบโตขึ้น ผ่านการตัดต่อพันธุกรรมมาอย่างโชกโชน พร้อมกับภาระหน้าที่อันยิ่งใหญ่ แต่บาง Class บาง Method มันไม่ตอบโจทย์ทางธุรกิจแล้ว มันควรจะถูกกำจัดไปซะ แต่ Code มันบางส่วนมันใช้อยู่

เราจะทำอย่างไร เพื่อให้ทีม Develop ที่พัฒนาด้วยกัน เปลี่ยนไปเรียกใช้ Class หรือ Method ใหม่แทน !!!

ทางแรก เราอาจจะประกาสแจ้งให้ในทีมทราบ แต่บางครั้งอาจจะมีหลงลืมบ้าง เพื่อป้องกันปัญหาระยะยาวทำแบบ Java ดีกว่า ตัว Java มันมีบอกว่า Code ส่วนไหนที่เลิกใช้ (deprecated) ไปแล้วครับ โดยในตัว .Net Framework มี Attribute ให้เรียกใช้ครับ คือ ตัว Obsolete ครับ สำหรับตัวอย่างมาลองดูจาก Scenario ดังนี้ครับ

  • ขั้นแรก - เจรจาก่อน โดยการใส่ Attribute Obsolete ไว้บน Method ที่เราต้องการ ในที่นี้ คือ ShiftWorkingDate

    This slideshow requires JavaScript.

  • ขั้นสอง - กระชับพื้นที่ เพิ่ม Message แจ้งเตือน

    This slideshow requires JavaScript.

  • ขั้นสาม - ขอคืนพื้นที่ หมดเวลาแล้ว กำหนด Flag เป็น true ครับ ถ้า Developer คนไหนยังไม่แก้ แก้เวลา Compile มัน Error ครับ

    This slideshow requires JavaScript.

สุดท้ายและ ทำไมถึงต้องมาเขียน เพราะ จาก Code เก่าที่ Migrate มา Method ShiftWorkingDay ที่ทำหน้าที่เลื่อนวันไปในกรณีที่เป็นวันหยุด มันมีถึง 6 Edition ใครอ้างผิด ก็ซวยไปครับ กว่าจะตามมาแก้ได้ใช้เวลาพอสมควรเลย