مساوئ استخدام الـ frameworks

كلنا نعلم ان استخدام الـ frameworks يعطي مزايا عديدة واهمها اختصار وقت العمل وتحسين الـ Performance والـ security الخ..
ولكن طريقة استخدامك للـ frmaework قد يكون له تاثيرات جانبية على مستواك كمبرمج..
ففي حال تعاملت معها بطريقة خاطئة ممكن أن تؤثر سلباً على سرعة إنجازك وعلى مستواك البرمجي وطريقة تفكيرك كمبرمج، وتتحول من مبرمج الى مجرد مستخدم للـ framework
وللأسف أغلب المبرجين تتعامل مع الـ frameworks على انها صندوق سحري لاتتجرأ على فتحه او محاولة فهم ما يحدث بداخله، انه صندوق سحري يقوم بتنفيذ امور غريبة فوق العادة.. ظواهر مدهشة.. أمور تتجاوز القدرة البشرية وكأن من كتبوا الـ frameworks هم مخلوقات فضائية او سحرة!!

مشكلة الـ frameworks انها تبسط الامور بطريقة زائدة قليلا، الامر الذي يجعل من المبرمج ضعيف ولا يتقن التعامل مع الامور بالطريقة السليمة
فمثلا اغلب مبرمجي لارفل لايتقنون قراءة استعلامات mysql!! فكيف ستطلب منه مثلا تحسين أداء أو سرعة الـ queries..
حادثة بسيطة حدثت بيني وبين احد المبرمجين عندما كان يحاول تنفيذ مهمة ما فاذا به يمسك الكيبورد ويبدأ بتنفيذ خطوات متتالية وشعرت للحظات ان هذا الشخص متقن ما يفعل بشكل سليم جدا
وإذ به يتوقف وينتقل للمتصفح ويحاول مشاهدة ما حدث ثم يقول لي “ممممم غريب لماذا لاتعمل!!” ثم ينتقل الى الكود ويحاول ان يغير ترتيب الاشياء ثم يعدل على اي شيء في الكود محاولا ان يجعل الكود يعمل بدون أن يقرأ الأخطاء فقت يتحقق من أنه قام بتنفيذ الخطوات بشكل سليم..
فاكتشفت حينها ان ما يفعله هو تنفيذ لخطوات متتالية فقط حفظها عن ظهر قلب ..وكما يقول أصدقائي المصريين “حافظ مش فاهم”

وتصلني أيضا الكثير من الأسئلة حول ربط framework ما مع framework آخر مثلا لارفل مع react او vue مع django الخ..
هذه الأسئلة ممكن ان تكون مقبولة في حالات معينة، مقبولة في حال كنت تريد فهم المفاهيم البرمجية، كيف تبني SPA مثلا..
لكن ليس لمعرفة الخطوات اللازمة لربطها وحفظها بدون فهم.
فمثلا في حال كنت أريد أن أربط بين laravel و react ولم أجد مصادر تتحدث عن الموضوع، عندها ببساطة ممكن أن أستعين بمصدر معين وأشاهد طريقة ربط laravel و vue ثم أقوم بتطبيقها مع react، فانت هنا تتعامل مع المفاهيم وليس مع الخطوات اللازمة لتنفيذ مهمة محددة..

هذا الـ post ليس دعوة لترك الـ frameworks على العكس… انا شخصيا استخدم framework لكل شيء اتعامل معه..
ولكن يجب أن تفهم جيدا كيف يعمل هذا الـ framework وفي كل مرة تجد أمر يبهرك قم بفتح الـ source code وشاهد الطريقة التي تعمل بها الأمور..
الأمر الذي سيساعدك على فهم اللغة واتقان البرمجة بشكل متقدم أكثر، حتى أثناء تعاملك مع الـ framework نفسه ستفهم سلوك و رسائل أخطاء الـ framework بشكل أفضل..
فاذا لم تتعامل مع الامور بهذه الطريقة ففي النهاية ستتحول لمجرد مستخدم عادي .. وفي حال توقفت الناس عن استخدام هذا الـ framework وانتقلت لـ framework آخر فببساطة ستعود لنقطة الصفر.. لانك لم تبني مهارتك ومعرفتك كمبرمج وانما كمستخدم للـ framework..
لانلوم أحد وجميعنا يقع في مثل هذه الاخطاء وانا شخصيا أرتكب مثل هذه الأخطاء في فترات متفاوتة بسبب ضغط العمل.. لكن في كل مرة تسنح لك الفرصة قم بمحاولة فهم مايحدث من حولك..

اترك رداً