ما الفرق بين 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) من أكثر عيوب التكامل شيوعاً.
كيفية استخدام محوّل kebab-case
- الصق العناوين أو المعرّفات، واحداً في كل سطر.
- اختر kebab-case لمعرّفات الكود (فهو يفصل كلمات camelCase)، أو وضع slug للروابط عند تحويل العناوين، أو Train-Case.
- بالنسبة إلى slug، قرّر ما إذا كنت تريد الحفاظ على الحروف غير اللاتينية، وحدّد الطول الأقصى.
- انسخ النتائج.
مزايا محوّل kebab-case
- أوضاع kebab-case وslug للروابط وTrain-Case
- نقل حرفي (transliteration) للحروف اللاتينية ذات العلامات الصوتية والحروف المركّبة (café → cafe، straße → strasse)
- خيار الحفاظ على الحروف العربية والهندية وغيرها من الحروف غير اللاتينية في الـ slug
- حد أقصى لطول الـ slug مع اقتطاع نظيف
- تحويل دفعي مع جدول نتائج وتحذيرات عند نتائج slug الفارغة
مثال على محوّل kebab-case
روابط slug لمقالات المدونة
الإدخال:
Café Straße & Crème Brûlée Menu
10 Tips for Better APIs!النتيجة:
cafe-strasse-creme-brulee-menu
10-tips-for-better-apisالأسئلة الشائعة حول محوّل kebab-case
ما الفرق بين kebab-case وslug الرابط؟
يفصل وضع kebab-case المعرّفات عند تغيّر حالة الأحرف وعند الشرطات السفلية والمسافات، ثم يصل الكلمات بأحرف صغيرة وواصلات (userFirstName → user-first-name). أما وضع slug، وهو الوضع الافتراضي، فيعامل كل سطر كعنوان: لا يفصل كلمات camelCase (userFirstName → userfirstname)، لكنه يزيل العلامات الصوتية (café → cafe)، ويفكّ الحروف المركّبة (straße → strasse)، ويحذف علامات الترقيم، ويمكنه تقييد الطول — لإنتاج روابط URL آمنة ومقروءة. استخدم وضع kebab-case لمعرّفات الكود.
ماذا يحدث للنص العربي أو الهندي في وضع slug؟
عند تفعيل خيار «الحفاظ على الحروف غير اللاتينية» (Keep non-Latin letters) تُحفظ الكلمات (مرحبا-بالعالم)، وتعرضها المتصفحات الحديثة بشكل صحيح في الروابط. عطّله للسماح بحروف ASCII وأرقامها فقط.
لماذا أنتج أحد الأسطر نتيجة فارغة؟
لأنه لم يحتوِ على أي حروف أو أرقام بعد التنظيف — مثلاً كان يحتوي على علامات ترقيم فقط، أو على نص غير لاتيني مع تعطيل خيار «الحفاظ على الحروف غير اللاتينية».
ما هو Train-Case؟
كلمات مفصولة بواصلات يبدأ كل منها بحرف كبير (Content-Type وX-Request-Id) — وهو النمط المستخدم لأسماء ترويسات HTTP.