جراب الثعبان

جزء من التعليمات البرمجية من وحدة نمطية لنواة لينكس ، والتي تستخدم نمط كتابة الأحرف المتداخلة (snake case) للمعرفات

نمط Snake Case (يُكتب أحيانًا بشكل تلقائي snake_case ) هو اصطلاح تسمية يُستبدل فيه كل فراغ بشرطة سفلية (_)، وتُكتب الكلمات بأحرف صغيرة . وهو اصطلاح شائع الاستخدام في الحوسبة ، على سبيل المثال لأسماء المتغيرات والبرامج الفرعية ، وأسماء الملفات . وقد وجدت إحدى الدراسات أن القراء يستطيعون تمييز قيم Snake Case بسرعة أكبر من قيم Camel Case . ومع ذلك، "تم تدريب المشاركين بشكل أساسي على نمط الشرطة السفلية"، لذا لا يمكن استبعاد احتمال التحيز. [ 1 ]

أحد أشكال كتابة الأحرف الكبيرة هو نمط "Screaming Snake Case" ، حيث تُكتب الكلمات بأحرف كبيرة (يُكتب على النحو التالي: SCREAMING_SNAKE_CASE). [ 2 ] يُستخدم هذا النمط للثوابت في لغات البرمجة مثل C / C++ ، وPython ، وJava ، وPHP ، وكذلك لمتغيرات البيئة .

تاريخ

يعود استخدام الشرطات السفلية كفواصل بين الكلمات إلى أواخر الستينيات. ويرتبط هذا الاستخدام بشكل خاص بلغة C ، حيث ورد في كتاب "لغة برمجة C" (1978)، ويُقارن بنمط كتابة Pascal Case (وهو نوع من أنماط Camel Case ). مع ذلك، لم يكن لهذا النمط اسم محدد تقليديًا: إذ يشير إليه دليل أسلوب لغة برمجة بايثون ببساطة باسم "lower_case_with_underscores". [ 3 ]

في مجموعة يوزنت، ظهر مصطلح snake_case لأول مرة في مجتمع روبي عام 2004، [ 4 ] وقد استخدمه جافين كيستنر، الذي كتب:

بالمناسبة... ما اسم أسلوب التسمية هذا؟ هل هو Snake_case؟ سأستخدم هذا الاسم حتى يصححني أحدهم.

اعتبارًا من عام 2015لم يتم توحيد أسماء اصطلاحات التسمية الأخرى المفصولة بفواصل للمعرفات متعددة الكلمات ، على الرغم من أن بعض المصطلحات تشهد مستويات استخدام متزايدة، مثل lisp-case وkebab-case وSCREAMING_SNAKE_CASE وغيرها. [ 5 ] [ 6 ] [ 7 ]

أمثلة

تستخدم لغات البرمجة التالية صيغة Snake Case وفقًا للاتفاقية التالية:

انظر أيضاً

مراجع

  1. شريف، بونيتا؛ ماليتيك، جوناثان آي. (2010). "دراسة تتبع حركة العين لأنماط مُعرّفات camelCase و under_score". المؤتمر الدولي الثامن عشر لـ IEEE حول فهم البرامج (ملف PDF) . الصفحات 196-205 . CiteSeerX 10.1.1.421.6137 . doi : 10.1109/ICPC.2010.41 . ISBN   978-1-4244-7604-6. S2CID 14170019 . 
  2. "قضية الثعبان" . شبكة مطوري موزيلا . 8 سبتمبر 2023. تم الاطلاع عليه في 10 نوفمبر 2023 .
  3. 1 2 غيدو فان روسوم؛ باري وارسو؛ نيك كوجلان (2001-07-05). "PEP 0008 -- دليل أسلوب كتابة كود بايثون" .
  4. غافين كيستنر (23 فبراير 2004). "الاستخدام الأمثل لنمط CamelCase" . مجموعة الأخبار : comp.lang.ruby . يوزنت: HBn_b.379957$xy6.2073499@attbi_s02 . تاريخ الاسترجاع : 13 أغسطس 2015 .  
  5. "ما اسم نمط snake_case مع الشرطات؟" . Stack Overflow . مؤرشف من الأصل بتاريخ 26-12-2014 . تم الاطلاع عليه بتاريخ 25-07-2016 .
  6. "المبرمجون - إذا كان هذا مكتوبًا بنمط CamelCase، فما هذا؟" . مؤرشف من الأصل بتاريخ 2016-08-07 . تم الاطلاع عليه بتاريخ 2015-08-13 .
  7. "Camel_SNAKE-kebab" . GitHub . 23 أبريل 2020.
  8. "اتفاقيات التسمية في كائنات ABAP" . help.sap.com . تم الاطلاع عليه بتاريخ 28-07-2020 .
  9. "إرشادات برمجة لغة آدا" .
  10. "متطلبات وإرشادات مكتبة بوست" . تم الاطلاع عليه بتاريخ 13-08-2015 .
  11. "أسماء فئات وميزات قطارات إيفل" . 28 ديسمبر 2019.
  12. "دليل أسلوب Elixir" . GitHub . مايو 2020.
  13. "قواعد البرمجة" . مؤرشف من الأصل بتاريخ 2010-09-04 . تم الاطلاع عليه بتاريخ 2017-08-11 .
  14. "دليل أسلوب GDScript - وثائق محرك Godot (3.0) باللغة الإنجليزية" . docs.godotengine.org .
  15. "اتفاقيات كتابة التعليمات البرمجية للغة برمجة جافا - اتفاقيات التسمية" . أوراكل . تم الاطلاع عليه بتاريخ 3 أغسطس 2021 .
  16. "اتفاقيات الترميز" . تم الاطلاع عليه بتاريخ 2023-02-03 .
  17. "Xen wiki" . تم الاطلاع عليه بتاريخ 15-03-2017 .
  18. داميان كونواي (2005). أفضل ممارسات بيرل . دار نشر أورايلي ميديا، ص 44. رقم ISBN  978-0-596-00173-5.
  19. "دليل سريع لبعض مصادر اصطلاحات التسمية لتطوير قواعد بيانات أوراكل" . stevenfeuersteinonplsql.blogspot.com . تاريخ الاطلاع: 30 ديسمبر 2020 .
  20. مايكل أ. كوفينجتون؛ روبرتو باجنارا؛ ريتشارد أ. أوكيف؛ جان ويليماكر؛ سيمون برايس (2009). "إرشادات البرمجة للغة برولوج (الإصدار 3)". ص 14. arXiv : 0911.2899 [ cs.PL ]. 
  21. شركة آي بي إم (يوليو 1965). نظام التشغيل آي بي إم/360 PL/I: مواصفات اللغة (ملف PDF) . صفحة 16. تم الاطلاع عليه بتاريخ 12 نوفمبر 2023 . 
  22. ويكهام، هادلي. دليل أسلوب تيديفيرس .
  23. "اتفاقيات تسمية روبي" . جيت هاب . مايو 2020.
  24. "التسمية - إرشادات واجهة برمجة تطبيقات Rust" . مؤرشف من الأصل بتاريخ 16-09-2018 . تم الاطلاع عليه بتاريخ 27-10-2019 .
  25. "اتفاقيات تسمية Terraform" . فبراير 2022.
  26. "التوثيق - لغة برمجة Zig" . تم الاطلاع عليه بتاريخ 10-03-2024 .