ما هو كود السباغيتي وكيفية تجنبه
نشرت: 2020-07-03في حين أنه قد يصنع لعشاء إيطالي لذيذ ، فإن أحد آخر الأشياء التي تريد أن تسمع عنها فيما يتعلق بقاعدة الكود الخاصة بك هو السباغيتي . فكرة أن الكود الخاص بك متشابك مثل طبق من السباغيتي أمر مرعب ، ولكن بالنسبة للكثير من المطورين ، الفكرة مجردة لدرجة أنهم لا يستطيعون التعامل معها (أو فهم كيفية تجنبها أو إصلاحها). لهذا السبب نريد في هذا المنشور الغوص في ماهية رمز السباغيتي في الواقع ، وإظهار بعض أفضل الممارسات لتجنبها ، و (عندما يحدث ذلك) كيفية التعامل معها.
اشترك في قناتنا على اليوتيوب
ما هو كود السباغيتي؟
رمز السباغيتي هو كابوس ، هذا ما. كما قلنا أعلاه ، حصل المصطلح العامي على اسمه لأنه ، مثل تشابك عملاق من معكرونة السباغيتي ، إذا قمت بسحب خصلة واحدة (جزء من الكود) ، ينتهي الأمر بالتشابك في الآخر وآخر وآخر ، حتى يتم ذلك أو كل تتكسر القطع المتشابكة.
على سبيل المثال ، فكر في! الخاصية الهامة في CSS. إنها قوية بشكل لا يصدق ، حيث تسمح للمصمم بتجاوز الأنماط الموروثة والتحكم في أي عنصر معين دون الحاجة إلى إعادة ترميز ورقة الأنماط بأكملها. ومع ذلك ، عندما يحتاجون (أو المطورين والمصممين المستقبليين) إلى تعديل شيء آخر ، فقد يضيفون علامة أخرى ! مهمة لتجاوز العلامة السابقة. وما إلى ذلك وهلم جرا. ولكن إذا كنت تريد العودة وإزالة أو تغيير أي من تلك الموجودة في تلك المجموعة ، فقد ينقطع أي عدد من الأنماط على الصفحة.
وهو ما نحاول تجنبه.
أفضل الممارسات لتجنب رمز السباغيتي
1. تطوير معايير الترميز
الطريقة الأولى لمنع رمز السباغيتي هي إنشاء معايير وترميزها داخل مؤسستك أو مشروعك. معايير الترميز هي التي تجعل مشاريع مثل WordPress ممكنة. لقد عمل الآلاف من المطورين على WP Core ، لكن معايير ترميز WordPress جعلتهم يعملون جميعًا ضمن نفس الإرشادات ويؤدون المهام ضمن نفس المعلمات بنفس الطريقة.
معايير الترميز هي مجرد قواعد تقوم بإنفاذها. إنهم يحافظون على عمل الكود الخاص بكل شخص في نفس النمط بحيث يسهل العثور على الأخطاء وإصلاحها ، ويمكن للمطورين المستقبليين (أو حتى أنت أو فريقك الحالي) معرفة بالضبط ما يفعله كل سطر من التعليمات البرمجية بأكبر قدر ممكن من الكفاءة. إذا لم يجتاز كود سوزان اختباراته ، فلن يدخل. إذا لم يكن لدى كود جانين اختبارات لتشغيلها ، فسيتم رفض طلب السحب. ربما لا يستخدم دانيال divs في آخر طلب سحب له. لا يوجد دمج حتى يتم تقسيم الأشياء.
أيضًا ، كانت بعض قواعد الرموز الأصلية التي ابتليت بها شفرة السباغيتي لغات أقدم بدون منطق وظيفي. لم يكن الكود يعتمد على الوظيفة ، وبالتالي ، تم توجيه المنطق المتنوع إلى سطور محددة داخل الكود. مع المشاريع الصغيرة ، هذا ليس سيئًا للغاية للتنقل. عندما تبدأ في توسيع نطاق المشاريع ، فإن وجود إشارات مباشرة إلى ملفات وأسطر معينة من التعليمات البرمجية يمكن أن يعيق هذا التطور. يمكن أن تختفي الملفات ، ويمكن أن يتم حذف الأسطر أو ترقيمها بشكل خاطئ. ويمكن أن يستغرق تصحيح الأخطاء لمعرفة أي خصلة من السباغيتي تم سحبها مئات الساعات من الأشخاص. يمكن أن يؤدي وجود معايير الترميز إلى منع حدوث هذا النوع من الفوضى في كثير من الأحيان.

لذلك من خلال تطوير المعايير ، تكون قد قللت بشكل فعال من فرص امتلاكك لمستودع من كود السباغيتي. إذا كنت تريد معرفة المزيد حول معايير الترميز بشكل عام ، فإن GeeksforGeeks لديها دليل ممتاز.
2. اتبع دليل الأسلوب
بالإضافة إلى معايير الترميز ، فإن وجود دليل نمط لاتباعه يمكن أيضًا أن يمنع الكود الخاص بك من التشابك كثيرًا. في حين أنه قد يبدو متشابهًا من الناحية النظرية ، إلا أن الاثنين مختلفان تمامًا. توجد معايير الترميز كقواعد قابلة للتنفيذ يتبعها مطورو البرامج لديك من أجل الحفاظ على عمل الكود بكفاءة. يمكن أن تتغير هذه من مشروع إلى مشروع أو من فريق إلى فريق داخل المنظمة.
ومع ذلك ، يتم كتابة دليل الأسلوب بشكل عام على أساس لغة على حدة ، مما يوفر سلسلة من أفضل الممارسات لجعل الكود قابلاً للقراءة وعملية. على سبيل المثال ، أنشأت Airbnb أحد أفضل أدلة الأنماط لـ React.js الموجودة هناك. إذا لم تكن أحد مطوري React ، فهذا لا يعني شيئًا. ولكن بالنسبة لمطوري React ، فإن النظر إلى هذا يمكن أن يقدم مساعدة حقيقية في كيفية هيكلة التعليمات البرمجية الخاصة بك وكتابتها لجعلها في متناول المطورين المستقبليين لفرزها قدر الإمكان.
دليل الأسلوب ، على عكس معايير الترميز العامة ، ليس بالضرورة قواعد قابلة للتنفيذ. إنها اقتراحات لجعل الكود أكثر اتساقًا ، مما يجعل قراءة الكود أسهل. وهو ما يمنع رمز السباغيتي لأنك تعرف بالضبط ما هي الخصلة التي تسحبها في أي وقت.
3. التعليق على التعليمات البرمجية الخاصة بك
ربما تكون تعليقات الكود هي أسهل طريقة لمنع امتلاء مستودعاتك بشفرة السباغيتي. عندما تكتب شيئًا ما ، قم بإنشاء تعليق حول ما يفعله. إذا كانت وظيفة معقدة أو مقتطفًا ، فشرح ما يفعله المنطق وسبب أهميته.
تواجه مشكلتين بالاعتماد على تعليقات الكود لمنع العبث. الأول هو أنه يضيف الكثير من الوقت الإضافي للمشاريع. عندما تحاول الوصول إلى موعد نهائي أو التأكد من أن إحدى الميزات تعمل بشكل صحيح ، فليس من الأمور التي تخطر ببالك دائمًا كتابة شرح مفصل لها. وإذا بدأت في التعليق وتراجعت عن منتصف المشروع أم أن المطور التالي لا يستمر؟ هذا طبق كبير من السباغيتي.
يشعر الآخرون بالارتباك من فكرة التعليق على الكود الخاص بهم - أو تعلم التعليق على الكود الخاص بهم إذا لم يفعلوا ذلك من قبل - بسبب الحجم الهائل الذي يطورونه. وهو صالح تمامًا. ولكن حتى إذا علّقت من حين لآخر على سطور أو مقتطفات مهمة (أو حتى غير مستقرة) ، فسوف تنقذ شخصًا ما ، يحتمل أن تكون نفسك ، عناء سحبها في الماضي ، في محاولة لمعرفة ما تفعله.
تغليف
أكرر إن شفرة السباغيتي كابوس. إن قضاء ساعات لا حصر لها في محاولة معرفة أي سطر من التعليمات البرمجية تم تغييره في مستودع ضخم هو أحد أسوأ أجزاء كونك مطورًا. التصحيح جيد (العش). التصحيح وعدم معرفة من أين تبدأ أو حتى ما يسبب المشكلة عن بعد ليس كذلك. ولكن إذا وضع فريقك معايير الترميز ، واتبع دليل أسلوب اللغة ، ولديه حتى سياسة تعليقات بسيطة على الكود ، فهناك احتمال كبير جدًا أن تكون لوحة السباغيتي الرقمية أقل تشابكًا مما ستكون عليه.
ماذا تفعل لمنع كود السباغيتي؟
صورة مميزة للمقال من قبل Donnay Style / shutterstock.com
