ConstructiCat Logo
CodeBust.
Browse section ▾

إخفاء الدالة.

Problem

لا يتم استخدام الدالة بواسطة فئات أخرى أو تُستخدم فقط داخل التسلسل الهرمي لفئتها الخاصة.

Solution

اجعل الدالة خاصة (private) أو محمية (protected).

##Example

قبل
Hide Method - Before
بعد
Hide Method - After

##Why Refactor

في كثير من الأحيان، يرجع سبب الحاجة إلى إخفاء دوال الحصول والتعيين إلى تطوير واجهة أكثر ثراءً توفر سلوكاً إضافياً، خاصة إذا بدأت بفئة لم تضف سوى القليل جداً بخلاف مجرد تغليف البيانات.

مع بناء سلوك جديد في الفئة، قد تجد أن دوال الحصول والتعيين العامة لم تعد ضرورية ويمكن إخفاؤها. إذا جعلت دوال الحصول أو التعيين خاصة وطبقت الوصول المباشر إلى المتغيرات، فيمكنك حذف الدالة.

##Benefits

  • إخفاء الدوال يجعل من السهل على كودك أن يتطور. عندما تقوم بتغيير دالة خاصة، فإنك تقلق فقط بشأن كيفية عدم كسر الفئة الحالية لأنك تعلم أن الدالة لا يمكن استخدامها في أي مكان آخر.

  • من خلال جعل الدوال خاصة، فإنك تؤكد على أهمية الواجهة العامة (public interface) للفئة والدوال التي تظل عامة.

##How to Refactor

  1. حاول بانتظام العثور على الدوال التي يمكن جعلها خاصة. يمكن أن يقدم تحليل الكود الساكن (static code analysis) والتغطية الجيدة لاختبارات الوحدة (unit test coverage) مساعدة كبيرة.

  2. اجعل كل دالة خاصة بقدر الإمكان.