مفهوم إعادة التصميم في لغات البرمجة Refactoring

اقرأ في هذا المقال


مفهوم إعادة التصميم في لغات البرمجة Refactoring

يُعد مفهوم إعادة هيكلة الكودات (Refactoring) مفهوم مهم في عالم لغات البرمجة، ويُعرف على أنه عملية يتم من خلالها إعادة هيكلة التعليمات البرمجية (codes) دون تغيير سلوكها ووظائفها الخارجية أو الإضافة إليها، ويعد الهدف الأساسي من عملية إعادة التصميم هو الحصول على أكواد برمجية سهلة القراءة ويسهل تطويرها أيضاً، وهذا ما يُعرَف بالشيفرة النظيفة (clean code).

وأهم ما يميز الشيفرة النظيفة في لغات البرمجة المختلفة هو أن تكون واضحة ومقروءة، ولا يوجد فيها أي تكرار وأن تحتوي على أقل عدد ممكن من الأصناف، وأن تجتاز الاختبارات التقنية المختلفة بنجاح، وان لا تحتاج إلى الصيانة المتكررة، وهذا هو هدف مفهوم عملية إعادة التصميم حيث أنه يقوم بالتخلص من المتطلبات التقنيّة الزائدة، ويقوم بتحويل كل المشاكل في الشيفرة إلى شيفرةٍ نظيفةٍ (clean code) ذات تصميمٍ سهل.

متى يحتاج المبرمج استخدام مفهوم إعادة التصميم

يتم استخدام مفهوم إعادة التصميم في عدة حالات وفيما يلي أهمها:

عند إضافة ميزة جديدة Adding Features

حيث عند استخدام مفهوم إعادة التصميم يصبح التحكُّم بالشيفرة النظيفة (clean code) أكثر سهولة، ومن ثم يستطيع المبرمج إجراء التغييرات بسهولة.

عند إصلاح الأخطاء Bugs fixing

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

أثناء مراجعة الشيفرة code review

إذ هي الفرصةُ الأخيرة لتعديل الشيفرة قبل نشرها.

أهداف عملية إعادة التصميم في لغات البرمجة

هنالك العديد من الأهداف التي تتحقق من خلال استخدام مفهوم إعادة التصميم وفيما يلي أهم هذه الأهداف:

إنشاء التوابع

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

نقل المزايا ما بين الكائنات

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

تنظيم البيانات

تساهم تقنيات إعادة التصميم على التعامل مع البيانات بشكل أسهل، ويتم تبديل أصناف ذات وظائف معينة مكان الأنواع الأساسية للبيانات (primitives).

المصدر: What is Code Refactoring? How Refactoring Resolves Technical DebtCode Refactoring Best Practices: When (and When Not) to Do ItWhat is refactoring?Refactoring – Introduction and Its Techniques


شارك المقالة: