البرمجة بطعم المعكرونة Pasta Theory
البرمجة بطعم المعكرونة Pasta Theory :
تقول هذه النظرية إن شكل وهيكلة Structure الكود قد يشبه طبق المعكرونة (فكما تعلم أن للمعكرونة عدة أشكال فللكود أيضاً أشكال مختلفة) وأن الكود قد لا يكون له أي هيكيلة إطلاقاً أو يكون له هيكيلة بشكل مبالغ فيه.
فعندما يكون الكود غير منظم unstructuredوأجزائه متداخله بشكل كبير، فهذا هو السباغتي كود spaghetti code ، وفي العادة الأكواد التي بها عشرات الأسطر داخل حدث دالة ما وفتح الاتصال مع القاعدة وإرجاع النتيجة تكون من هذا النوع. وعموماً التعديل في هذا الكود أمر صعب حيث بسهولة قد تقوم بكسر شيء ما وإضافة مشكلة جديدة بدلاً من حل مشكلة.
spaghetti code
أما إذا كان منظم ومقسم لعدة طبقات فهو الكود اللازاني lasagna code وهو الذي يكون مقسم لعدة طبقات layers وكل منها لها مسؤولية معينة تقوم بها، بحيث عندما تبحث عن جزئية التعامل مع القاعدة تذهب مباشرة لتلك الطبقة، إلى هنا فكود اللازاني جميل ولكن الاستخدام المفرط للطبقات سوف يعيق المشروع أكثر من أن يفيده، لذلك ال lasagna code يمكن أن يكون جيداً أو يكون سئياً على حسب تعريفك له، وفي الغالب على حسب نظرية المعكرونة ينظر له على أنه كود غير جيد يقدم طبقات لا داعي لها.
أما إذا كان منظم ومقسم لعدة طبقات فهو الكود اللازاني lasagna code وهو الذي يكون مقسم لعدة طبقات layers وكل منها لها مسؤولية معينة تقوم بها، بحيث عندما تبحث عن جزئية التعامل مع القاعدة تذهب مباشرة لتلك الطبقة، إلى هنا فكود اللازاني جميل ولكن الاستخدام المفرط للطبقات سوف يعيق المشروع أكثر من أن يفيده، لذلك ال lasagna code يمكن أن يكون جيداً أو يكون سئياً على حسب تعريفك له، وفي الغالب على حسب نظرية المعكرونة ينظر له على أنه كود غير جيد يقدم طبقات لا داعي لها.
lasagna code
أما إذا كنت تستخدم الكائنات بحيث تعرف كيف تدير نفسها (كما في قطعة الرايفيولي سوف تجد كل منها يتكون مناللحم والصلصة) وسهل استبدالها عند التغير وهذا أمر جيد، وهو الرايفيولي Ravioli code ولكن الاستخدام الزائد لتلك الكائنات -مثلاً الالاف- سوف يعيقك أيضاً وستجد لديك كائنات صغيرة كثيرة وحينها سوف يصعب عليك العمل ، بالطبع البعض يراها حسنة عندما تقدم فائدة للمشروع، والبعض الآخر يراها مضرة عندما تكثر تلك الكائنات الصغيرة وستجد في الأخير أنها سباغتي من الداخل و Ravioli من الخارج
البرمجة بطعم المعكرونة Pasta Theory
بواسطة habeeb
on
01:55:00
Rating:
No comments