268
2026-03-04
هل واجهت يوماً موقفاً قمت فيه بتعديل سطر واحد في الكود، لتكتشف أن النظام بأكمله قد تعطل في أماكن لا علاقة لها بالتعديل؟ هذا ما نطلق عليه "الكود الهش". لتجنب هذه الكوابيس البرمجية، وضع الخبراء خمس قواعد ذهبية تُعرف باسم SOLID Principles. هذه القواعد هي ما يميز "المبرمج المحترف" عن "هاوي الأكواد".
في هذا المقال من قسم "برمجة" عبر "GeeksPath"، سنبسط لك هذه المفاهيم المعقدة لتبدأ بتطبيقها في مشاريعك القادمة.
القاعدة تقول: "يجب أن يكون للصنف (Class) سبب واحد فقط للتغيير".
ببساطة: لا تجعل الكلاس الخاص بك "سكينة سويسرية" تفعل كل شيء (ترسل إيميل، تحفظ في القاعدة، وتعالج الصور). كل كلاس يجب أن يتخصص في مهمة واحدة فقط. هذا يجعل البحث عن الأخطاء وتعديل الكود أمراً سهلاً جداً.
القاعدة تقول: "الكائنات يجب أن تكون مفتوحة للتوسيع، مغلقة للتعديل".
ببساطة: إذا أردت إضافة ميزة جديدة (مثل وسيلة دفع جديدة)، لا تذهب وتعدل في الكود القديم وتخاطر بكسره، بل قم بكتابة كود جديد يمتد من القديم. هذا يحافظ على استقرار النظام الأصلي.
ببساطة: إذا كان لديك "كلاس أب" و"كلاس ابن"، فيجب أن تكون قادراً على استخدام "الابن" مكان "الأب" دون أن يتوقف البرنامج عن العمل. لا تجعل الابن يغير سلوك الأب الأساسي بشكل غير منطقي.
القاعدة تقول: "لا تجبر الكلاس على تنفيذ واجهات (Interfaces) لا يستخدمها".
ببساطة: بدلاً من إنشاء واجهة واحدة ضخمة تحتوي على 20 دالة، قم بتقسيمها إلى واجهات صغيرة متخصصة. المبرمج يجب أن يأخذ فقط ما يحتاجه فعلياً.
القاعدة تقول: "اعمد إلى الاعتماد على التجريد (Abstraction) لا على التنفيذ الملموس".
ببساطة: لا تجعل الكود الخاص بك يعتمد على كلاس معين بشكل مباشر. بدلاً من ذلك، اجعله يعتمد على "Interface". هذا يسمح لك بتغيير المحرك (مثلاً تغيير قاعدة البيانات من MySQL إلى MongoDB) دون تعديل منطق العمل الأساسي في تطبيقك.
قواعد SOLID ليست مجرد نظريات أكاديمية، بل هي أدوات لإنقاذ مستقبلك المهني. عندما تتبع هذه القواعد، أنت لا تكتب كوداً يعمل فحسب، بل تبني "معمارية" برمجية قوية تصمد أمام التغييرات الكبيرة وتنمو مع نمو المشروع. في GeeksPath، نؤمن أن المبرمج القوي هو مهندس قبل أن يكون كاتباً للأكواد.
#برمجة # SOLID Principles # هندسة البرمجيات # كود نظيف # Laravel # Object Oriented Programming # تطوير برمجيات"تطبيق هذه القواعد هو ما يميز المبرمج العادي عن المحترف؛ اكتشف الرحلة الكاملة لتطوير مسارك في [خارطة الطريق للتحول من مبرمج إلى مهندس برمجيات في 2026]."