بعد سنين من مراجعة الكثير من المشاريع هناك بعض المشاكل التي رأيتها والتي تخص إستدعاء المكتبات “Libraries” او ال أطر العمل “Frameworks” وسأقوم بكتابتهم بالتفصيل كل مشكلة مع الحل الخاص بها حتى توفر على نفسك المساحات المستخدمة والملفات الزائدة في مشروعك والتي تبطيء مشروعك وتظهر لك الكثير من المشاكل في المستقبل عندما يكبر المشروع.
الحاجة
المشكلة
وجود مكتبات او اطر عمل تم إستدعائها لعمل مهمة بسيطة جدا يمكن عملها بسطر أو إثنين بدون الحاجة لإستدعاء مكتبة كاملة كبيرة حجمها كبير ومعها الكثير من الملفات. تخيل معي مهمة بسيطة جدا المطلوب فيها عمل نص يتغير لنص آخر بعد عدد من الثواني ولعمل المهمة تقوم بإستدعاء Content Slider Script يحتوي على الكثير من الملفات وبحجم كبير بسبب المميزات الكثيرة الموجودة فيه والتي لا تحتاج منها أي شيء وتقوم بأستدعائه بسبب المهمة البسيطة المطلوبة
حل المشكلة
عمل المطلوب بسطر او اثنين مادامت لا تحتاج لكل المميزات الموجودة في اطار العمل أو المكتبة
التكرار
المشكلة
مكتبة أو اطار عمل يتم إستدعائهم أكثر من مرة والسبب أن هناك فريق يعمل على المشروع وكل شخص يحتاج لمكتبة معينة يقوم بإستدعائها وكل شخص يعمل في جهة. تخيل معي كلما كبر المشروع وكلما تكررت هذه المشكلة في مشروعك.
حل المشكلة
توثيق كل ما يتم عمله والتنسيق مع أعضاء الفريق دائما ومراجعة المكتبات الموجودة في المشروع والتي تم إضافتها عن طريق باقي أعضاء الفريق
نفس الوظيفة
المشكلة
أكثر من مكتبة تقوم بعمل نفس المطلوب في المشروع وسببها أن كل شخص مكلف بعمل مهمة معينة يحتاج لها مكتبة او اطار عمل يقوم بإستدعاء المكتبة المناسبة له والتي يعرفها جيدا بدون النظر على باقي المكتبات
حل المشكلة
التعرف على المكتبات الموجودة في المشروع ودراستها لتعرف هل هناك منهم ما يناسب المطلوب منك أم لا قبل أن تستدعي المكتبة التي تريدها لعمل المطلوب
إصدار مختلف
المشكلة
مكتبة او اطار عمل يقوم بعمل المطلوب ولكن باصدار مختلف بمعنى نفس المكتبة موجودة مرتين وكل مرة بإصدار مختلف وهذه المشكلة لن تتسبب فقط في زيادة حجم الصفحة وبطأ الموقع بل ستتسبب في عمل مشاكل تخص التعارض مع الاصدارات تخيل معي الشخص الأول استدعى المكتبة باصدار معين ويستعملها في المشروع وشخص آخر قام بإستدعاء المكتبة باصدار مختلف تختلف فيه ال Classes ووظيفتها مثلا فستحدث هنا مشاكل كثيرة في التعارض
حل المشكلة
توحيد الاصدارات بمكتبة واحدة فقط تقوم بعمل المطلوب ويتم العمل عليها من قبل جميع الموجودين
المناسب
المشكلة
مكتبات وأدوات موجودة في المشروع حجمها كبير جدا وهناك أفضل منها من ناحية الحجم والمتطلبات الخاصة بالمشروع
حل المشكلة
دراسة السوق وتجربة المكتبات والأدوات الموجودة في مجالات وقراءة المقارنات بينهم لتعرف ما هو مناسب لك من حيث المتطلبات والحجم لتحافظ على سرعة وأداء الموقع
غير مستخدم
المشكلة
مكتبة او اطار عمل تم إستدعائه في المشروع ولكن لم يتم العمل به في أي مكان
حل المشكلة
توثيق العمل وعند إلغاء ميزة او فكرة في المشروع تتأكد انك قمت بإلغاء كل ما يخصها من ملفات
إصدار قديم
المشكلة
إستخدام مكتبة بإصدار قديم يسبب لك الكثير من المشاكل لأن كل شيء من حولك يتطور ويوفر عليك الكثير
حل المشكلة
تحديث المكتبات مع تجربة والتأكد أن كل شيء سليم
ملف غير مضغوط
المشكلة
إستخدام الملف المفتوح للتطوير في المكتبات التي لن تقوم بالتعديل عليها نهائيا وهذه يزيد من حجم الصفحة لأن حجم الملف يكون كبير
حل المشكلة
إستخدام النسخة المضغوطة Minified Version والمخصصة للإستخدام وليس للتطوير
قمت بعمل فيديو يتكلم عن كل هذه النقاط مع شرح بالتفصيل
هنا
نفع الله بكم وجزاكم الله خيراً مهندسنا الحبيب
أستحضر هنا مقولة كنت سمعتها من أحد إخواني الأفاضل من صناع المحتوى التعليمي للبرمجة
يقول : المبرمج المحترف هو الذي يستطيع تنفيذ المهمة المطلوبة بأقل عدد ممكن من سطور الكود.
بمعنى أن هناك مهمة معينة يمكن تنفيذها بسطر كود أو إثنين فقط ولا يوجد أي داعي لإستدعاء مكتبة كاملة لن يتم إستخدام 1/10 من المميزات الموجودة بها.
يعني بإختصار كما تفضلت حضرتك إستدعاء المكتبات يجب أن يكون بحكمة وعلى قدر الحاجة.