أحياناً يكون السبب فى فشلك هو كثرة الـ abstractions في الكود

فى مجال البرمجة نحتاج إلى الـ abstraction لأنها تساعدنا على انجاز المهام البرمجية التي نريد انشائها. ولكن هناك مشكلة!! أحياناً نواجه مشكلات لا نعرف معناها ولا سببها ولا علاجها!!! لكى نفهم مشكلة الـ Abstractions لابد أن نفهم معناها أولاً.

ما هي الـ Abstraction ؟

الـ Abstraction أو الـ Abstraction Layer هى عبارة عن كود للتعامل مع مستوى معين بتفاصيله، واعطاء طريقة استخدام سهلة للمستوى المعقد. مثال المترجم هو عبارة عن abstraction layer بينك وبين المتحدثين بلغات أخرى. أن غير مطالب بالتعامل بلغتهم أو محاولة فهمها. كل ما عليك هو التعامل مع المترجم الذي يقوم بدور الوسيط بينك وبين الطرف الأجنبي.

الطبقات الوسيطة في مجال البرمجة - Abstraction Layers

أهمية الـ Abstractions في كتابة الكود ؟

مثال فى مجال البرمجة، قام البشر بكتابة الـ C Compiler لكى نقوم بكتابة كود بلغة C بدلاً من كتابة مجموعة من الـ 01 الصعبة جداً. ثم بعدها طور البشر لغات أخرى أسهل من لغة C مثل لغة C++ حيث تكتب الكود بشكل أسرع وأسهل وتحول الكود إلى كود محسن وقوى بلغة C. وبعد سنين قام البشر أيضاً بعمل الكثير من الـ abstractions حتى أصبح هناك مبرمجين لا يعرفون كيف يعمل الكود الذي يكتبونه على جهاز الكمبيوتر.

الـ abstraction layers ليست فقط فى لغات البرمجة، ولكن تجدها أيضاً في مكتبات البرمجة. مثال مكتبة برمجة لتكوين ملفات الـ PDF. مهمة هذه المكتبة هي التعامل مع تعقيدات كتابة صفحات وتنسيقات الملف ولكن أنت مطالب فقط بتحديد مكونات الصفحة ومحتوياتها فقط. هذه تعتبر من أهم الـ abstractions التى يحتاجها المبرمجين.

لذلك ينصح كل المبرمجين حالياً بإستخدام المكتبات لأنها تسهل عمل المبرمج لأنه يكمل على الخطوات التي بدأها من قبله من عباقرة المجال. بدلاً من أن يعيد اختراع العجلة. تكلمنا من قبل عن أهمية التكملة على إنجازات الآخرين يمكنك أن تقرأ ما تحدثنا عنه من هنا.

مشكلة الطبقات الوسيطة (Abstraction Layers)

أسوأ مشكلة في الـ abstractions هي عدم فهم مطوري التطبيقات ومواقع الويب لما يحدث في الطبقات والـ abstractions التي يستخدموها فى برامجهم ومواقعهم. يعاني كل مبرمجي nodejs و flutter و react native من هذه المشكلات بكثرة. لأنهم لا يعرفون كيف تعمل كل هذه الطبقات المتداخلة. وكيف يتحول الكود الذي يكتبونه إلي الشكل الذي يعمل به. وكيف يتم ترجمته أو تحويله.

كيف تتجنب مشكلة الطبقات الوسيطة (Abstractions) ؟

لابد من استخدام الـ abstractions لكي تستطيع أن تنجز عملك فى وقت أقل وبكفاءة أعلى. لذلك أنصحك بأن تستخدم المكتبات البرمجية التي تحتوي على documentation قوي يوفر لك شرح لكل طرق استخدام المكتبة البرمجية. بالإضافة إلي فهم كتابة كود اللغة وبيئة الإستخدام وكيف يعمل الكود داخل البيئة التي تطور برنامج أو تطبيق لها. فهمك لهذه الـ abstraction layers سيقلل من صعوبة تفسير المشكلات التي حتماً ستواجهها.

لمزيد من المعلومات عن البرمجة والألعاب، ابحث عن "موقع أبانوب حنا للبرمجيات" على جوجل وادخل للموقع وستجد موضوع جديد يشرح فكرة أو معلومة جميلة ومفيدة لك إن شاء الله يومياً.