---
title: "إعادة تسمية التابع (Rename Method)"
type: "refactoring-technique"
slug: "rename-method"
url: "http://localhost:3000/ar/rename-method.md"
category: "تبسيط استدعاءات الدوال"
description: "المشكلة: لا يوضح اسم التابع ما يفعله التابع. الحل: أعد تسمية التابع."
---
# إعادة تسمية التابع (Rename Method)

> المشكلة: لا يوضح اسم التابع ما يفعله التابع. الحل: أعد تسمية التابع.

## المشكلة

لا يوضح اسم التابع ما يفعله التابع.

## الحل

أعد تسمية التابع.

## دواعي إعادة الهيكلة

ربما تمت تسمية التابع بشكل سيئ منذ البداية، على سبيل المثال، قام أحدهم بإنشاء التابع على عجل ولم يعتنِ بتسميته بشكل جيد.

أو ربما تمت تسمية التابع بشكل جيد في البداية ولكن مع نمو وظائفه، توقف اسم التابع عن كونه وصفاً جيداً لما يفعله.

## الفوائد

* مقروئية الكود. حاول إعطاء التابع الجديد اسماً يعبر عما يفعله. شيء مثل `createOrder()` أو `renderCustomerInfo()` وما إلى ذلك.

## كيفية إعادة الهيكلة

1. تحقق مما إذا كان التابع معرفاً في الفئة الفائقة (Superclass) أو الفئة الفرعية (Subclass). إذا كان الأمر كذلك، فيجب عليك تكرار جميع الخطوات في هذه الفئات أيضاً.
2. الخطوة التالية مهمة للحفاظ على عمل البرنامج أثناء عملية إعادة الهيكلة. أنشئ تابعاً جديداً باسم جديد. وانسخ كود التابع القديم إليه. ثم احذف كل الكود الموجود في التابع القديم وضع بدلاً منه استدعاءً للتابع الجديد.
3. ابحث عن جميع الإشارات إلى التابع القديم واستبدلها بإشارات إلى التابع الجديد.
4. احذف التابع القديم. إذا كان التابع القديم جزءاً من واجهة عامة (Public interface)، فلا تقم بهذه الخطوة. بدلاً من ذلك، ضع علامة "مهمل" (Deprecated) على التابع القديم.
## Relations

**Similar techniques**

- [إضافة معامل](/ar/add-parameter.md)
- [إزالة المعامل (Remove Parameter)](/ar/remove-parameter.md)

**Eliminates smells**

- [كلاسات بديلة بواجهات مختلفة](/ar/smells/alternative-classes-with-different-interfaces.md)
- [التعليقات](/ar/smells/comments.md)

