إعادة تسمية التوابع (Rename Method)
المشكلة
لا يعبِّر اسم التابع عن ما يقوم به.
الحل
إعادة تسمية التابع.
مثال
قبل إعادة التصميم
لا يفسر اسم التابع ()getsnm
في الصنف Customer
ما يقوم به.
بعد إعادة التصميم
إعادة تسمية التابع ()getsnm
إلى ()getSecondName
الذي يصف ما يقوم به.
لم إعادة التصميم؟
ربما كانت تسمية تابعٍ ما سيئة من البداية - على سبيل المثال، أنشأ شخصٌ ما التابع في عجلة ولم يهتم كفاية بتسميته بشكل جيد.
أو ربما سُميَ التابع بشكلٍ جيد في البداية ولكن مع تطور وظيفته، أصبح اسم التابع لا يصفه بشكلٍ جيد.
فوائد تطبيق الحل
- قابلية قراءة الشفرة البرمجية. حاول أن تعطي التابع الجديد اسمًا يعكس ما يفعله شيء مثل
createOrder()
، وrenderCustomerInfo()
، ...إلخ.
آلية الحل
- تحقق من إذا كان التابع مُعرَّف في الصنف الأعلى أو صنفٍ فرعي. فإذا كان الأمر كذلك، يجب تكرار كل الخطوات في هذه الأصناف أيضًا.
- التابع التالي مهم للحفاظ على عمل البرنامج أثناء عملية إعادة التصميم. أنشئ تابعًا جديدًا باسم جديد. وانسخ شيفرة التابع القديم إليه. ثم احذف كل الشيفرة البرمجية من التابع القديم، وأدخل بدلًا منه استدعاءً للتابع الجديد.
- ابحث عن كافة المراجع إلى التابع القديم واستبدلها بمراجع إلى التابع الجديد.
- احذف التابع القديم. إذا كان التابع القديم جزءًا من واجهة عامة، فلا تُجري هذه الخطوة. وبدلًا من ذلك، ضع علامة "مُهمَل" على التابع القديم.
انظر أيضًا
- إضافة معامل (Add Parameter).
- حذف المعاملات (Remove Parameter).
- الأصناف البديلة (alternative) ذات الواجهات (interfaces) المختلفة.
- التعليقات (Comments).