جراب الثعبان

نمط 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 وفقًا للاتفاقية التالية:
- ABAP [ 8 ]
- آدا ، مع كتابة الأحرف الأولى بأحرف كبيرة أيضًا [ 9 ]
- مكتبة C++ القياسية و Boost للرموز. [ 10 ] لا يوجد في لغة C++ اتفاقية تسمية متفق عليها على نطاق واسع للفئات والدوال من قبل مجتمعها الأوسع.
- C ، بالنسبة لبعض أسماء الأنواع في المكتبة القياسية، ومنذ C11 ، في بعض أسماء الدوال.
- إيفل ، لأسماء الفئات والميزات [ 11 ]
- Elixir ، لأسماء الذرات والمتغيرات والدوال [ 12 ]
- إرلانج ، لأسماء الدوال [ 13 ]
- GDScript ، لأسماء المتغيرات والدوال [ 14 ]
- تستخدم لغة جافا نمط SCREAMING_SNAKE_CASE للثوابت النهائية الثابتة وقيم التعداد. [ 15 ]
- تستخدم لغة Kotlin نمط SCREAMING_SNAKE_CASE للثوابت وقيم التعداد [ 16 ]
- ماجيك
- OCaml ، لأسماء القيم والأنواع والوحدات النمطية [ 17 ]
- بيرل ، للمتغيرات المعجمية والروتينات الفرعية [ 18 ]
- تُستخدم لغة Oracle SQL و PL/SQL ، [ 19 ] لجميع المعرّفات غير المُقتبسة (الجداول، والأعمدة، والفهارس، والقيود، ومتغيرات PL/SQL، والثوابت، والإجراءات/الدوال، والمشغلات، ...)، على الرغم من أنها ليست رسمية من Oracle نفسها، إلا أنها لا تزال موصى بها من قبل غالبية "المؤثرين" المعروفين وتُستخدم في جميع أنحاء وثائق Oracle الرسمية.
- جميع المعرفات غير المقتبسة من نوع snake_case يتم تمثيلها داخليًا كمعرفات SCREAMING_SNAKE_CASE.
- Prolog ، لكل من الذرات (أسماء المسندات، وأسماء الدوال، والثوابت) والمتغيرات [ 20 ]
- بايثون ، لأسماء المتغيرات، وأسماء الدوال، وأسماء الطرق، وأسماء الوحدات أو الحزم (أي الملفات) [ 3 ]
- يستخدم PHP نمط كتابة SCREAMING_SNAKE_CASE لثوابت الفئات
- PL/I [ 21 ]
- R ، لأسماء المتغيرات وأسماء الدوال وأسماء الوسائط، وخاصة بأسلوب tidyverse [ 22 ]
- روبي ، لأسماء المتغيرات والأساليب [ 23 ]
- Rust ، لأسماء المتغيرات، وأسماء الدوال، وأسماء الطرق، وأسماء الوحدات، والماكرو [ 24 ]
- تي سي إل
- Terraform (برنامج) ، للموارد والمتغيرات [ 25 ]
- زيج ، للمتغيرات [ 26 ]
انظر أيضاً
- نمط كتابة الجمل (Camel Case ) أكثر شيوعًا في لغتي Java و C#
- حالة الكباب ، مع استخدام الواصلات بدلاً من الشرطات السفلية، أكثر شيوعًا في لغتي COBOL و LISP
- اصطلاحات التسمية (البرمجة)
مراجع
- ↑ شريف، بونيتا؛ ماليتيك، جوناثان آي. (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 .
- ↑ "قضية الثعبان" . شبكة مطوري موزيلا . 8 سبتمبر 2023. تم الاطلاع عليه في 10 نوفمبر 2023 .
- 1 2 غيدو فان روسوم؛ باري وارسو؛ نيك كوجلان (2001-07-05). "PEP 0008 -- دليل أسلوب كتابة كود بايثون" .
- ↑ غافين كيستنر (23 فبراير 2004). "الاستخدام الأمثل لنمط CamelCase" . مجموعة الأخبار : comp.lang.ruby . يوزنت: HBn_b.379957$xy6.2073499@attbi_s02 . تاريخ الاسترجاع : 13 أغسطس 2015 .
- ↑ "ما اسم نمط snake_case مع الشرطات؟" . Stack Overflow . مؤرشف من الأصل بتاريخ 26-12-2014 . تم الاطلاع عليه بتاريخ 25-07-2016 .
- ↑ "المبرمجون - إذا كان هذا مكتوبًا بنمط CamelCase، فما هذا؟" . مؤرشف من الأصل بتاريخ 2016-08-07 . تم الاطلاع عليه بتاريخ 2015-08-13 .
- ↑ "Camel_SNAKE-kebab" . GitHub . 23 أبريل 2020.
- ↑ "اتفاقيات التسمية في كائنات ABAP" . help.sap.com . تم الاطلاع عليه بتاريخ 28-07-2020 .
- ↑ "إرشادات برمجة لغة آدا" .
- ↑ "متطلبات وإرشادات مكتبة بوست" . تم الاطلاع عليه بتاريخ 13-08-2015 .
- ↑ "أسماء فئات وميزات قطارات إيفل" . 28 ديسمبر 2019.
- ↑ "دليل أسلوب Elixir" . GitHub . مايو 2020.
- ↑ "قواعد البرمجة" . مؤرشف من الأصل بتاريخ 2010-09-04 . تم الاطلاع عليه بتاريخ 2017-08-11 .
- ↑ "دليل أسلوب GDScript - وثائق محرك Godot (3.0) باللغة الإنجليزية" . docs.godotengine.org .
- ↑ "اتفاقيات كتابة التعليمات البرمجية للغة برمجة جافا - اتفاقيات التسمية" . أوراكل . تم الاطلاع عليه بتاريخ 3 أغسطس 2021 .
- ↑ "اتفاقيات الترميز" . تم الاطلاع عليه بتاريخ 2023-02-03 .
- ↑ "Xen wiki" . تم الاطلاع عليه بتاريخ 15-03-2017 .
- ↑ داميان كونواي (2005). أفضل ممارسات بيرل . دار نشر أورايلي ميديا، ص 44. رقم ISBN 978-0-596-00173-5.
- ↑ "دليل سريع لبعض مصادر اصطلاحات التسمية لتطوير قواعد بيانات أوراكل" . stevenfeuersteinonplsql.blogspot.com . تاريخ الاطلاع: 30 ديسمبر 2020 .
- ↑ مايكل أ. كوفينجتون؛ روبرتو باجنارا؛ ريتشارد أ. أوكيف؛ جان ويليماكر؛ سيمون برايس (2009). "إرشادات البرمجة للغة برولوج (الإصدار 3)". ص 14. arXiv : 0911.2899 [ cs.PL ].
- ↑ شركة آي بي إم (يوليو 1965). نظام التشغيل آي بي إم/360 PL/I: مواصفات اللغة (ملف PDF) . صفحة 16. تم الاطلاع عليه بتاريخ 12 نوفمبر 2023 .
- ↑ ويكهام، هادلي. دليل أسلوب تيديفيرس .
- ↑ "اتفاقيات تسمية روبي" . جيت هاب . مايو 2020.
- ↑ "التسمية - إرشادات واجهة برمجة تطبيقات Rust" . مؤرشف من الأصل بتاريخ 16-09-2018 . تم الاطلاع عليه بتاريخ 27-10-2019 .
- ↑ "اتفاقيات تسمية Terraform" . فبراير 2022.
- ↑ "التوثيق - لغة برمجة Zig" . تم الاطلاع عليه بتاريخ 10-03-2024 .
روابط خارجية
- رأس المال
- اصطلاحات التسمية
- الطباعة
- شفرة المصدر
- استعارات تشير إلى الثعابين
