YAGNI ، KISS ، DRY ، WET ، SLAP ، ASAP ، YOLO - ماذا يعني كل هذا؟
افي ، المبرمج! إذا سبق لك أن قرأت أدب البرمجة باللغة الإنجليزية ، أو درست دورات في اللغة الإنجليزية ، أو عملت مع زملائك من المبرمجين الناطقين بالإنجليزية ، أو فقط تراسلت معهم ، فمن المحتمل أنك صادفت هذه الاختصارات وعندما قال أحد المبرمجين الملتحين KISS للآخر ، أضمن أن حاجبك على الأقل مرفوعة قليلاً.
في هذه المقالة ، سنحلل ما هي هذه الكلمات ، أو بالأحرى الاختصارات ، الشائعة بين IT-shniks الناطقين باللغة الإنجليزية.
المرئيات هنا: youtu.be/ub0YtnSwqRA
كيس ("أبقِ الأمر بسيطًا يا غبي")
هذا ليس نمطًا ، وليس نمطًا مضادًا أو حتى فرقة موسيقى الروك من السبعينيات ، في هذه الحالة ، إنه أحد المبادئ أو الأساليب الأكثر شيوعًا لبرمجة أي شيء.
في الواقع ، يتطلب هذا المبدأ أن تكون الكود الخاص بك بسيطًا قدر الإمكان ، لأن كومة من الوظائف غير الضرورية التي تكرر بعضها البعض وعادة حك أذنك اليسرى بيدك اليمنى ليست علامة على وجود مبرمج محترف.
كلما كانت الشفرة أبسط ، كلما كان فهمها أسهل ، على التوالي ، قلت فرصة حرق كرسي تحت شخص سيطلق هذا الرمز من بعدك.
قال ستيف ماكونيل ذات مرة: "اكتب الكود كما لو كان مدعومًا من قبل مختل عقليًا عنيفًا يعرف أين تعيش".
لذلك ، من الأفضل حقًا عدم تعقيد الأشياء التي لا تتطلب ذلك.
جاف ("لا تكرر نفسك")
مبدأ لا تكرر نفسك مشابه جدًا في طبيعته لـ KISS. هذا بسيط للغاية وفي نفس الوقت له معنى واسع. هذا بسيط للغاية وفي نفس الوقت له معنى واسع - هل حصلت على النكتة؟
نسخ ولصق وتكرار أجزاء من الكود الخاص بك مثل الجنف أو ضعف البصر - يعاني جميع المبرمجين من هذا بمرور الوقت. لا يوجد شيء خاطئ. يحتاج الجميع أحيانًا إلى التحقق بسرعة من شيء ما (سلوك متوقع أو شيء آخر) لتحديد ما إذا كان الأمر يستحق كتابته بشكل صحيح. لكن من غير المقبول بالتأكيد إرسال مثل هذا الرمز إلى الإنتاج.
يذكرنا DRY أن كل سلوك متكرر في الكود يمكن ويجب استرجاعه (على سبيل المثال ، داخل دالة) لإعادة استخدامه لاحقًا. وجود جزأين من نفس الشفرة في قاعدة التعليمات البرمجية الخاصة بك ليس جيدًا. يمكن أن يؤدي هذا غالبًا إلى إلغاء التزامن وأخطاء أخرى في التعليمات البرمجية الخاصة بك ، ناهيك عن زيادة حجم البرنامج.
WET ("نحن نتمتع بالكتابة")
تنتشر حلول WET في البنى متعددة المستويات حيث يمكن تكليف مطور ، على سبيل المثال ، بإضافة حقل تعليق إلى نموذج في تطبيق ويب. يمكن تكرار سلسلة نص "التعليق" في تسمية أو علامة HTML أو اسم وظيفة القراءة أو المتغير الخاص أو قاعدة البيانات DDL أو الاستعلامات وما إلى ذلك. يزيل أسلوب DRY هذا التكرار باستخدام أطر عمل تقلل أو تقضي على جميع مهام التحرير باستثناء أهمها ، مع ترك القدرة على إضافة متغيرات جديدة في مكان واحد.
YAGNI ("لن تحتاجها")
لا تحتاج إلى هذا - هذا مبدأ قد يتعارض مع آراء بعض المبرمجين ، وكذلك أولئك الذين أضافوا ديسيمترات إلى المناهج الدراسية.
أن تكون مستعدًا للمستقبل أمر جيد بشكل عام ، ولكن ليس في البرمجة. إن ترك أي رمز مخصص للإضافات المستقبلية فقط ليس مشكلة كبيرة.
ولكن إذا كنت من محبي الإنترنت بطبيعتك ، ومن التفكير في ترك ما هو ضروري فقط ، فإن الكرسي الموجود أسفل القوائم الخاصة بك يبدأ في الذوبان ، فلنكتشف ذلك - هل هذا أسلوب سيء في البرمجة أم أنه عيادة في الحياة؟
مشاريع المبرمج ليست أشياء لها نهاية واضحة. ما لم يتخلى المؤلف عن الفكرة (ولم ينقلها إلى شخص آخر) ، يستمر المشروع أساسًا. لذلك ، سيكون هناك دائمًا مجال للتحسين ، سواء كان المفهوم أو الهندسة أو حتى الكود نفسه.
إنه شيء - كيف تبدو الشفرة المثالية في رأسك - بدون أخطاء وعكازات ، إنه شيء آخر - ما يحدث بالفعل.
وبطبيعة الحال ، فإن لمسة خفيفة من الحزن واللامبالاة يمكن أن تفهم المبرمج في أمسية خريفية باردة وقد يقرر المبرمج وضع ما يسمى بـ "نقاط الامتداد" (الأماكن المصممة لمراعاة الوظائف الجديدة بسهولة) إذا لم يتم استخدامها بشكل معقول أو أنها ليست وظيفة إلزامية ثم يصبح مجرد نصب تذكاري للمماطلة وإضافة تعقيد وحجم غير ضروريين إلى قاعدة الرموز. تعال إلى التفكير في الأمر ، حتى أنه يتعارض مع مبدأ KISS الذي تمت مناقشته مسبقًا.
SLAP ("مستوى واحد من مبدأ التجريد")
تحدد الطبقة المفردة لمبدأ التجريد (SLAP) كيف يجب علينا تنظيم الكود الخاص بنا (يجب أن تكون الوظائف محددة) من أجل الحفاظ عليها قابلة للصيانة.
يصعب التعايش مع الوظائف الطويلة والمعقدة. يصعب على المطورين الآخرين فهمها ويصعب اختبارها. إذا كانت أصابعنا على الإطلاق ، فبمجرد أن نواجه مثل هذا الرجس ، يجب علينا تحويله على الفور إلى عدة وظائف صغيرة!
كما قال روبرت مارتن ، "الوظائف يجب أن تفعل شيئًا واحدًا فقط ، ويجب أن تفعل ذلك جيدًا."
ولكن كيف يجب أن ننظم وظائفنا بالضبط؟ نظرًا لأنك ، صديقي الفروي ، أصبحت أكثر خبرة في البرمجة ، ستبدأ في فهم المزيد حول الجوانب العملية والجمالية والوظيفية للبرمجة ومبدأ يسمى SLAP يهدف إلى المساعدة.
بشكل تقريبي ، يجب أن تؤدي وظائفك شيئًا واحدًا فقط ، أو بكلمات SLAP أخرى ، يجب أن يكون لها مستوى واحد فقط من التجريد.
بشكل أساسي ، الوظيفة التي تقرأ إدخال المستخدم ، على سبيل المثال ، لا تحتاج إلى معالجتها أيضًا. بدلاً من ذلك ، سوف تحتاج إلى استخدام وظيفة منفصلة تقع في مستوى مختلف وأقل من التجريد. كلما كانت الوظيفة أكثر عمومية وكلما زادت الوظائف الأخرى التي تستخدمها ، كلما كانت أعلى في التسلسل الهرمي للتجريد.
FOOBAR ("F **** d فوق كل التعرف")
لإعادة الصياغة باللغة الروسية: "مكسورة بحيث لا يمكن استعادتها".
هذا تعبير رائع جاء إلى قسم تكنولوجيا المعلومات من لغة عامية عسكرية ، إلى جانب روائع أخرى ، على سبيل المثال ، SNAFU - "الوضع عادي - كل شيء سيء" ؛ إنه شيء مثل: "الوضع طبيعي تمامًا ، لكن كل ذلك كان عبثًا".
تقول الأسطورة أن مبرمجي لغة سي استخدموا الاسمين "foo" و "bar" للمتغيرات مثل ما يسمى "placeholder" أو العناصر النائبة ، خاصةً في أمثلة البرنامج التعليمي. لذلك ، تم تحرير رؤوسهم الصغيرة الساطعة من عبء الخروج بأسماء جديدة ويمكنهم التركيز على حل المشكلات.
بمرور الوقت ، أصبح هذا تقليدًا وانتقل من C إلى العديد من اللغات غير القديمة ، لذلك يمكن العثور على أمثلة لهذه الأسماء في الكتب المدرسية في كل مكان ، وتعني كلمة "FooBar" ، المطبقة على المشروع ، أنه يمكنك البدء في البحث عن شيء آخر ...
في اسرع وقت ممكن في أقرب وقت ممكن")
"في أقرب وقت ممكن."
في الآونة الأخيرة أصبح الاتجاه "في أقرب وقت ممكن بشكل معقول" - "في أقرب وقت ممكن ، ولكن ضمن حدود معقولة".
كما دخلت حيز الاستخدام من عامية الجيش بالفعل خلال الحرب العالمية الأولى. يتم استخدامه بنشاط حتى يومنا هذا ، إذا تم استخدام هذا الاختصار غالبًا في المراسلات مع الرؤساء ، فيمكن أن يشير هذا ببلاغة إلى مستوى التنظيم في الشركة أو المهارات الإدارية والقدرة على تحديد الأولويات بين الرؤساء. ولكن هناك بالطبع استثناءات عندما خرج الوضع عن السيطرة وفوبار بشكل عام.
FYI ("لمعلوماتك")
المعنى الرسمي هو "ألفت انتباهك إليه" ، لكن ترجمته فضفاضة: "حتى تعرف". تحدث في مراسلات البريد الإلكتروني في كل مكان ، خاصةً عندما لا يتم إجراء المراسلات معك شخصيًا ، أيها الشمس الصافية ، لكنهم مع ذلك قرروا إبلاغك بذلك.
TL؛ DR ("طويل جدًا ، لم تتم قراءته")
نظير لدينا "متعدد الحروف ، نيوسليل". يمكن رؤية هذا غالبًا في المنشورات الطويلة ، التي يكشف فيها المؤلف عن روحه ويمزق الحجاب ، لكن القارئ كسول جدًا بحيث يتعذر عليه الخوض في هذا التأليف.
افعلها بنفسك")
افعلها بنفسك. تأتي من أسماء محلات البناء الصغيرة التي تبيع السلع لإصلاح المنزل بدلاً من بنائه. كان المعنى أن العمل عبارة عن أشياء صغيرة ويمكنك القيام به بنفسك ، دون تعيين موظفين مؤهلين.
بعد ذلك ، انتقل المفهوم إلى تكنولوجيا المعلومات ويمكن أن يكون مناسبًا ، على سبيل المثال ، في المواقف التي يحتاج فيها المتخصص إلى القيام بعمل من مجال ذي صلة ، ولكنه صغير جدًا وتافه بحيث يسهل القيام به بنفسك.
يولو كنت تعيش إلا مرة واحدة")
"إنك لا تعيش إلا مرة واحدة." قياسا على الكلمة اللاتينية "carpe diem" ("اغتنم اللحظة") ، هذه دعوة لحياة كاملة ، حتى بالنسبة للسلوك الذي قد يحمل بعض المخاطر. إنها الحجة الأخيرة على الحدود مع خبرة غير معقولة أو متعة غير مقيدة ، ولكن في بعض الأحيان يمكن أن تحمل رسالة أكثر منطقية: من الغباء ترك الخوف يحكم قراراتك ، لأنك تعيش مرة واحدة فقط.
وتذكر ، يولو ، لذا قبلة. كان V. نراكم على القناة! افي!