تنسيق الثعبان

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

إحدى الصور الفرعية لهذه النمط هي الـ حالة الثعبان الصارخ ، حيث تُكتب الكلمات بأحرف كبيرة (منمقة كـ SCREAMING_SNAKE_CASE).  تُستخدم هذه الاتفاقية للثوابت في لغات البرمجة مثل C / C++ وPython وJava وPHP ، وكذلك للمتغيرات البيئية .

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

ظهر مصطلحsnake_case لأول مرة ضمن مجتمع Usenet، في مجتمع Ruby في عام 2004،  حيث استخدمه Gavin Kistner، وكتب:

حتى عام 2015، لم تكن هنالك تسمية موحّدة لأنماط التسمية التي تستخدم فواصل بين الكلمات في العرّفات متعددة الكلمات، رغم أن بعض المصطلحات بدأت تُستخدم بشكل متزايد، مثل: lisp-caseو kebab-case، و SCREMING_SNAKE_CASE وغيرها.

 أمثلة 
تستخدم لغات البرمجة التالية حالة الثعبان حسب الاتفاقية:

 ABAP
 Ada, مع الحروف الأولية التي ترسمت أيضًا
 C++، Boost
 C, بالنسبة لبعض الأسماء في المكتبة القياسية ، ولكن ليس لأسماء الوظائف.
 Eiffel, لأسماء الفئة والميزات
 Elixir, لأسماء Atom ، المتغير ، وأسماء الوظائف.
 Erlang, لأسماء الوظائف .
 GDScript, لأسماء المتغير والوظائف
 Java تستخدم Screaming_snake_case للثوابت النهائية الثابتة وقيم التعداد..
 Kotlinيستخدم Kotlin Screaming_snake_case للثوابت وقيم التعداد [1] 
 Magik
 OCaml, لأسماء القيمة والنوع والوحدة النمطية
 Perl, للمتغيرات المعجمية والروتين الفرعي
 Oracle SQL and PL/SQL, بالنسبة لجميع المعرفات غير المؤهلة (الجداول والأعمدة والفهارس والقيود والمتغيرات PL/SQL ، الثوابت ، الإجراءات/الوظائف ، المشغلات ، ...) ، على الرغم من أنها ليست رسمية من قبل Oracle نفسها ، لا يزال يوصي غالبية "المؤثرين" المعروفين واستخدامها في جميع أنحاء وثائق أوراق الرسمية
 يتم تمثيل جميع معرفات Snake_Case غير المُقالة داخليًا كمعرفات Screaming_snake_case.
 Prolog, لكلا الذرات (أسماء مسند ، أسماء الوظائف ، والثوابت) والمتغيرات
 Python,للأسماء المتغيرة وأسماء الوظائف وأسماء الأسلوب وأسماء الوحدة أو الحزمة (أي الملف) 
 PHP، يستخدم PHP Screaming_snake_case لثوابت الفصل
 PL/I
 R,بالنسبة للأسماء المتغيرة وأسماء الوظائف وأسماء الوسيطة ، ESP [1] ecially في النمط Tidyversee
 Ruby,لأسماء المتغير والأسلوب.
 Rust, للأسماء المتغيرة ، أسماء الوظائف ، أسماء الأسلوب ، أسماء الوحدات ، ووحدات الماكرو [1]
 Tcl
 Terraform (software),(البرمجيات) ، للموارد والمتغيرات 
 Zig,للمتغيرات 

 انظر أيضًا 

 حالة الجمل ، أكثر شيوعًا في Java وC#
 حالة الكباب ، أكثر شيوعًا في LISP
 اتفاقية التسمية (البرمجة)

 المراجع 

 روابط خارجية 

 محول علبة الثعبان

تصنيف:نص برمجي مصدري
تصنيف:طباعة الحروف
تصنيف:اصطلاحات التسمية
تصنيف:تكبير الحروف