نبيل الالمعي
نبيل الالمعي

@nabeel_alalmai

9 تغريدة 39 قراءة May 22, 2020
ماذا يعني code refactoring ؟ 🙄
ليش نحتاجة؟
وكيف بيفيدنا؟
باكتب عنها تحت هذي التغريدة😊
خلوكم قريبين 🌹
ال code refactoring هو اعادة هيكلة وتحسين الكود الداخلي للنظام بدون تغيير في المهام والمميزات الي يؤديها.
يعني مستخدم النظام مايدري ان في عملية refactoring صارت.
طيب ليش نسوية 😕
الـ refactoring يزيد قابلية الصيانة Maintainability يحيث يكون الكود مرتب ونظيف ومافيه كود مكرر ولا كود ميت (كود غير مستخدم) وسهل القراءة والتطوير...
ايضا ال refactoring يساعدنا في تطوير النظام واضافة وظائف ومميزات جديدة.
ايش ممكن يخلي الكود صعب؟
- عدم وجود توثيق documentation كافي
- عدم اتباع معيار او Standard محدد في الكود(تسمية متغيرات وكلاسات.. )
- استخدام ارقام ثابتة داخل الكود بدون توثيق magic numbers
- كلاسات او methods كبيرة جداً
- عدم تنسيق الكود
- وغيرها كثيير
عند عمل ال refactoring مهم تركز على:
-التخلص من اي شي مايضيف قيمة سوءا كان تعليق غير مفيد, كود غير مهم, كود غير مستخدم او تنسيق غير مناسب للكود.
- التخلص من التعقيد Complexity
سواء كانت اسماء غريبة, كلاسات طويلة, شروط متداخلة nested if/for/while, قيم ثابتة داخل الكود واي شي غامض في الكود
- واهم نقطة تخلص من التذاكي cleverness في كتابة في الكود
تخلص من الكود مبهم الي تحتاج وقت عشان تفهمة, لا تستخدم اسماء methods او كلاسات معرفة مسبقاً في اللغة او اطار العمل
الكود يصير طويل وواوضح افضل من قصير وصعب الفهم
عشان تبدأ في الـ Refactoring
لازم يكون عندك اختبارات جاهزة للكود.
لو كنت تستخدم TDD فالغالب انت جاهز للـ refactoring
لو مافي اختبارات ابدأ بكتابة الاختبارات لكل جزء من الكود كل تبدأ في الشغل.
الاختبارات او Unit tests تاكد لك ان بعد refactoring الكود لازال يعمل كما ينبغي
ببساطة تكتب الاختبار لكل جزء من الكود وتتاكد انه يتنفذ بنجاح, بعدين تسوي refactoring وترجع تشغل الاختبار وتتاكد انه يتنفذ بنجاح وكذا تكون عملية ال refactoring ناجحة 👏🏻👍🏻

جاري تحميل الاقتراحات...