ما الفرق بين camelCase وsnake_case وkebab-case وPascalCase؟
هي أربع طرق لضم كلمات المعرّف: camelCase يبدأ بحرف صغير ويكبّر أول كل كلمة تالية (userId)، وPascalCase يكبّر أول كل كلمة (UserId)، وsnake_case يفصل بشرطة سفلية (user_id)، وkebab-case بشرطة (user-id). لا يوجد نمط «صحيح» — لكل لغة وصيغة اصطلاحها: JSON وJavaScript تميلان إلى camelCase، وPython وSQL إلى snake_case، وعناوين URL وCSS إلى kebab-case، وأسماء الأصناف إلى PascalCase. وعدم التطابق بين عقد API ومستهلكه (userId مقابل user_id) من أكثر عيوب التكامل شيوعاً.
كيفية استخدام محوّل snake_case
- الصق المعرّفات، واحداً في كل سطر.
- فعّل SCREAMING_SNAKE_CASE للثوابت عند الحاجة.
- انسخ القائمة المحوّلة.
مزايا محوّل snake_case
- يحوّل camelCase وPascalCase وkebab-case والجمل إلى snake_case
- خيار SCREAMING_SNAKE_CASE للثوابت ومتغيرات البيئة
- كشف حدود الاختصارات (HTTPResponseCode → http_response_code)
- تحويل دفعي مع جدول للمدخلات والمخرجات
- الحفاظ على حروف Unicode
مثال على محوّل snake_case
أسماء Python من معرّفات JavaScript
الإدخال:
userFirstName
HTTPResponseCode
max-retry-countالنتيجة:
user_first_name
http_response_code
max_retry_countالأسئلة الشائعة حول محوّل snake_case
متى أستخدم snake_case؟
تستخدم snake_case متغيرات ودوال Python، وRuby، وRust، وأعمدة قواعد البيانات، والكثير من واجهات REST API. أما متغيرات البيئة والثوابت فتستخدم عادةً الصيغة ذات الأحرف الكبيرة.
كيف أحصل على SCREAMING_SNAKE_CASE؟
فعّل خيار «SCREAMING_SNAKE_CASE»؛ فتُحوَّل كل كلمة إلى أحرف كبيرة وتُوصل الكلمات بشرطات سفلية، مثل MAX_RETRY_COUNT.
هل يصبح "HTTPResponseCode" هو http_response_code؟
نعم. تُكتشف الاختصارات ككلمات مستقلة، فتكون النتيجة http_response_code وليس h_t_t_p_response_code.
هل تُحفظ الحروف غير اللاتينية؟
نعم — تُحفظ الحروف العربية والديفاناغارية وغيرها ككلمات وتُوصل بشرطات سفلية؛ ولا يتغير سوى الفواصل.