عملية الـ Code Refactoring يُقصد بها تحسين كود البرنامج وتغييره بدون تغيير وظيفة البرنامج. وهذه العملية أهدافها جعل الكود أكثر قابلية للقراءة، قابل للصيانة، وقابل للإضافة والتوسعة.
يحتاج المبرمج لهذه العملية لعدة أسباب منها عندما يحصل توسع وتغيير كبير في كود البرنامج أوعندما يتحول المشروع من مشروع فردي إلى مشروع جماعي لتسهيل قراءة الكود للوافدين الجُدد على البرنامج. كذلك فإن البرنامج في بدايته يكون تصميمه الداخلي غير واضح، وعندما يكبر يحتاج لإعادة تصميم حتى يتناسب مع اﻹحتياجات الجديدة.
ومن الأنشطة التي يمكن أن نفعلها خلال عملية إعادة الصياغة هي:
- تغيير أسماء المتغيرات والكائنات والإجراءات لتُصبح أسماء أوضح وذات دلالة
- إضافة تعليقات داخل الكود لشرح أجزاءه المختلفة
- تقسيم الإجراءات وكُتل الكود الكبيرة إلى إجراءات وأقسام أصغر لتسهيل الصيانة وحتى لا يزداد هذا الإجراء تعقيداً
- استخلاص كائنات (Class) جديدة من الكائنات أو الوحدات اﻷكبر وذلك لزيادة إعادة اﻹستخدام code reusability، ولتقليل حجم كود الكائنات والوحدات الكبيرة
- زيادة معالجة اﻹستثناءات exception handling، بحيث يُصبح البرنامج يتعامل مع كل اﻷخطاء الممكنة ويكون أكثر إعتمادية.
لا أدري هل النقطة اﻷخيرة (معالجة اﻹستثناءات) تُعتبر من طُرق إعادة الصياغة أم أنها تطوير للبرنامج، حيث أنها يُمكن أن تقوم بإضافة سلوك جديد للبرنامج، وإعادة الصياغة لا يحدث معها تغيير لسلوك البرنامج.
من المهم جداً بعد عملية الصياغة إعادة اﻹختبارات للبرنامج للتأكد أنه لم يحدث له تغيير أو لم ينتج خطأ جديد بسبب تعديل الكود.
عملية إعادة الصياغة هذه تستخدم من ضمن دورة الـ Extreme programming
[…] تبدأ دلائل عدم الكفاءة بالظهور، فيضطر المطور لعمل إعادة صياغة الكود Refactoring لتحسين الأداء، لكن مثل هذه الأجهزة القديمة تظهر جلياً […]
موضوع مميز جدا .. شكرا لك
[…] في بداية العام الماضي عن فائدة عملية إعادة صياغة الكود، وهذه المرة سوف أتكلم بواقع خبرة عملية أكبر من المرة […]
[…] إذا لم يتم تطبيق مفهوم التجريد فيها.سوف نقوم بعمل إعادة صياغة للكود وذلك بقسيمه إلى جزئين، حيث نقوم بإستخلاص الجزء الخاص […]
[…] إذا لم تكن دلالاتها صحيحة، في هذه الحال تكون ضمن عملية إعادة صياغة الكود، وذلك لتصحيح الهدف من تلك الوحدة البرمجية. والسبب […]