1 شرف الدين حفني نشر 15 سبتمبر 2021 أرسل تقرير نشر 15 سبتمبر 2021 عملية إعادة التصنيع (refactoring) يُقصد بها إعادة كتابة الشفرة البرمجية أو إعادة كتابة جزءاً من الشفرة البرمجية بغرض: تحسين كفائة الشفرة البرمجية من حيث الأداء تحسين الكفاءة من حيث جعلها أسهل فهماً التأكد من سهولة تطوير الشفرة البرمجية وتمديدها extend وبوجه عام فإن غالبا الشفرة البرمجية التي نحتاج أن نقوم بإعادة تصنيعها (refactoring) تكون هي الشفرة التي ﻻ تراعي المبادئ الخمسة SOLID Principles والتي تنص على التالي مبدأ المسؤلية الواحدة: وهو مبدأ ينص على أن لكل class مسؤلية واحدة , وكل دالة فيه يكون لها وظيفة واحدة فقط ﻻ أكثر مبدأ المفتوح - المغلق: ينص هذا المبدأ على أن أي نظام يكون مفتوح للتمدد مغلق للتعديل مبدأ ليسكوف للإستبدال: إذا كان النظام يستخدم class معين فإنه يجب أن يكون قادراً على إستخدام أي class مشتق منه مبدأ فصل الواجهات (interface Segregation) : ﻻ يجب أن تحتوي الواجهات interfaces على دوال قد ﻻ يحتاج المستخدم لإستخدامها, حيث يجب إختيار الدوال في الواجهات بعناية مبدأ عكس الإعتمادية (dependency inversion): ينص على أن classes المستويات العليا ﻻ يجب أن تعتمد على classes المستويات الدنيا , فمثلاً إن كان لدينا class مُسمى سيارة و class أخر مُسمى محرك , فﻻ يجب أن تعتمد السيارة على المحرك وبالأسفل بعض المقالات المفيدة في فهم هذا الموضوع بشكل أفضل اقتباس
1 Hassan Hedr نشر 15 سبتمبر 2021 أرسل تقرير نشر 15 سبتمبر 2021 هي عملية تغيير بنية الشيفرة المصدرية بدون أن يتغير عملها لكي تحقق التالي: سهولة القراءة، كتغيير اسماء المتحولات والتوابع الى اسماء واضحة معبرة معنى واضح وفهم أكثر، عبر اختيار اسماء تعبر عن معنى ووظيفة كل متحول أو تابع أو صف تقليل التكرار، حيث نحاول جمع العمليات المكررة بمكان واحدة ونسخة واحدة نستعملها دوما، لتخفيف وقت الصيانة لاحق السرعة، حيث نحسن أداء الخوارزميات المستخدمة لرفع الأداء مثال function a(x, s) { return x + s; } المثال السابق لتابع لا يدل أبدا على وظيفته ولا تعبر المعاملات الممرة له عن هويتها، نقوم بإعادة كتابة التابع السابق كالتالي function sum(number1, number2) { return number1 + number2; } اقتباس
السؤال
مروان محمود3
ما المقصود بالrefactoring
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.