عندما نقطع مجموعة من الأشجار , فعلينا أن سنن الفأس بشكل جيد , حتى تساعدنا في قطع الأشجار , وربما يكون ذلك أجدى بكثير من الإستمرار في القطع بالفأس الغير مسننة.
وكذلك عملية التطوير على تطبيق و مع زيادة حجم التطوير , فإن التطبيق سيحوي مناطق قد تكون سبب في عطب كامل إذا لم تكن هناك عملية تحسس ومعالجة للمناطق التي قد تسبب في عطب في التطوير أو التطبيق , وتحديث التصميم العام والبنية الآساسية , وتسمى هذه العملية بال Refactoring.
ال Refactoring (إعادة بنية التعليمات البرمجية)
هو عملية يتم فيها تحسين التعليمات البرمجية (Code) بدون تغيير الوظائف الأساسية , حيث يتم فيها تبسيط التعليمات البرمجية , التصميم , الإختبار , وكذلك عملية التطوير ذاتها.
أهمية ال Refactoring
– تحسين التصميم العام لنظام البرمجيات:
حيث أن تغييرات للتعليمات البرمجية بشكل دائم قد يؤدي إلى فقد واقعية تصميم النظام البرمجي عن التعليمات البرمجية , مما يؤدي إلى فقد البنية الأساسية للنظام , ولكن عمل التحسين الدائم وإعتباره عملية أساسية يساعد بشكل كبير في ربط البنية بالكود.
– يساعد على فهم النظام البرمجية :
هناك مستخدمين مختلفين للنظام البرمجي أو التطبيق فالحاسوب مستخدم , المطور , وأهم مستخدم هو من سيقوم على التحديث على الكود , الأهمية تكمن في سهولة معرفته وسهولة التحديث عليه.
– يساعد في العثور على الأخطاء بسرعة أكبر :
جزء من عملية ال Refactoring هو فهم التعليمات البرمجية وتوضيح هذا الفهم في التعليمات البرمجية مما يساعد كثيرا على العثور على الآخطاء وإصلاحها.
– يساعدك على التطوير بشكل أسرع :
وهذه حقيقة في نظام البرمجيات فكلما تحسن التصميم العام للبرمجية وكان واضحا كلما زادت جودة وسرعة التطوير , حيث انه يتم فيه تحسين التصميم بإزالة الأجزاء الغير ضرورية وتوضيح الأجزاء الضرورية مما يوفر الكثير من الوقت.
خصائص ال Refactroing
– يتم فيه تحوير التعليمات البرمجية إلى تعليمات برمجية جديده ومنظمة . – يتم التحوير في إطار نفس اللغة المستعملة في التطوير . – لايتم فيها تغيير سلوك التطبيق. – بالآساس تم عملها للتطويرات الخاصة بالبرمجة الشيئية (Object Oriented Programming) ولكن يمكن إستخدامها في البرمجيات الآخرى.
ملاحظات
– يجب إعتماد ال Refactroing كعملية دورية في إطار التطوير وبشكل دائم وعدم إهمالها لأنه كلما تم إهمالها كلما زادت صعوبة التحسين وزاد العطب في التطوير.
– في الوقت ذاته لايمكن عمل ال Refactroing لمجرد العملية وتركها مفتوحه بدون وقت محدد ودون تحديد للمهام .
سنتحدث في التدونية القادمة عن العملية بشكل تفصيلة وماهي أهم المناطق التي يجب النظر فيها , تابعونا
دمتم بود , إلى تدوينة أخرى