العودة إلى الدورة

إعادة الهيكلة من أجل الشعور: تحديد وإزالة الروائح الكريهة (Bad Smells)

فن البرمجة الجوهرية (Vibe Coding): الجماليات والأناقة والذكاء العاطفي في تطوير البرمجيات

الدرس 8: إعادة الهيكلة من أجل الشعور: تحديد وإزالة الروائح الكريهة

'روائح' الكود هي مؤشرات تدل على وجود خطأ ما في تصميم النظام، حتى لو تم تنفيذ الكود بشكل صحيح. يعد تحديد هذه الروائح وإصلاحها أمراً أساسياً للحفاظ على إحساس (Vibe) إيجابي للكود.

روائح الكود الشائعة (مُحفزات الـVibe السيئ)

  1. الدالة الطويلة (Long Method): الدوال التي تتجاوز القدرة العقلية للمراجع (مُغطاة في الدرس 7).
  2. الكود المكرر (Duplicated Code): كتل متطابقة أو شبه متطابقة من الكود تظهر في أماكن متعددة. (الإصلاح: استخراجها إلى دالة مساعدة مشتركة).
  3. الفئة/الوحدة الكبيرة (Large Class/Module): فئة أو ملف يحتوي على الكثير من المسؤوليات أو المتغيرات أو الدوال. (الإصلاح: التقسيم إلى فئات أصغر وأكثر تركيزاً).
  4. الحسد على الميزات (Feature Envy): تقضي دالة في الفئة A وقتاً أطول في التفاعل مع بيانات الفئة B مقارنة ببياناتها الخاصة. (الإصلاح: نقل الدالة إلى الفئة B).
  5. جراحة البندقية (Shotgun Surgery): يتطلب تغيير في جزء واحد من النظام العديد من التعديلات الصغيرة عبر ملفات عديدة. (الإصلاح: مركزة المنطق الذي يتم تغييره).

عقلية إعادة الهيكلة

إعادة الهيكلة ليست إصلاحاً للأخطاء؛ إنها تحسين البنية الداخلية للكود دون تغيير سلوكه الخارجي. يجب أن تتم باستمرار، وليس مرة واحدة في السنة.

نصيحة Vibe: في اللحظة التي تكتشف فيها قطعة كود ذات رائحة كريهة أثناء إضافة ميزة جديدة، خذ 5 دقائق لإعادة هيكلتها. اترك المنطقة أكثر نظافة مما وجدتها.

خطوات إعادة الهيكلة الآمنة

  1. كتابة/التحقق من الاختبارات: تأكد من أن لديك اختبارات تغطي سلوك الكود الذي تخطط لتغييره.
  2. إجراء تغييرات ذرية صغيرة: أعد تسمية متغير، استخرج دالة، انقل ملفاً. التزم (Commit) بشكل متكرر.
  3. تشغيل الاختبارات: تحقق من أن السلوك الخارجي لم يتغير.
  4. التكرار: التحسين المستمر حتى يصبح الـVibe نظيفاً.