حدود Backend ↔ Frontend
يعطيك الـ Backend `user_first_name`؛ ويريد الـ Frontend `userFirstName`. الصق، انسخ، الصق — انتهى. استخدم وضع دفعات JSON لتحويل كل مفتاح في عينة استجابة API في خطوة واحدة (ثم اكتب قالب codegen بناءً على النتيجة).
حوّل أي سلسلة إلى 11 اصطلاح تسمية في وقت واحد — camelCase وPascalCase وsnake_case وkebab-case والمزيد. بالإضافة إلى وضع دفعات JSON-keys الذي يعيد كتابة كل مفتاح بشكل تكراري. كل ذلك في متصفحك.
حوّل أي سلسلة إلى 11 اصطلاح تسمية في وقت واحد — camelCase وPascalCase وsnake_case وkebab-case والمزيد. بالإضافة إلى وضع دفعات JSON-keys الذي يعيد كتابة كل مفتاح بشكل تكراري. كل ذلك في متصفحك.
كلّها طرق لكتابة مُعرِّفات متعددة الكلمات (أو أسماء ملفات أو URLs أو فئات CSS) دون مسافات. camelCase تكتب أول حرف من كل كلمة بعد الأولى بحرف كبير (`userFirstName`)، تُستخدم في JavaScript وJava وSwift. snake_case تجعل كل شيء بأحرف صغيرة وتربط بالشرطات السفلية (`user_first_name`)، تُستخدم في Python وRuby وSQL. kebab-case تستخدم الشرطات (`user-first-name`)، وتُستخدم في CSS وHTML وعناوين URL وعلامات سطر الأوامر. PascalCase هي camelCase مع كتابة أول حرف بحرف كبير أيضاً (`UserFirstName`)، تُستخدم لأسماء الفئات / الأنواع في كثير من اللغات.
يستخدم المُجزِّئ قاعدتي حدود: صغير-إلى-كبير (`a` متبوعاً بـ `B` = تقسيم) وأحرف كبيرة-ثم-Title (سلسلة من الأحرف الكبيرة متبوعة بحرف صغير تُقسَم قبل آخر حرف كبير). إذن `XMLHttpRequest` تصبح `[XML, Http, Request]` ← `xml_http_request` / `xmlHttpRequest` / `XmlHttpRequest`. و`userIDToken` تصبح `[user, ID, Token]` ← `user_id_token`. يطابق هذا ما توصي به معظم أدلة أنماط اللغات.
المُعرِّفات وJSON لا تغادر جهازك أبداً. افتح DevTools ← Network وسترى صفر طلبات صادرة أثناء التحويل أو النسخ.
من camelCase / snake_case الكلاسيكية إلى dot.case / path/case — بالإضافة إلى وضع دفعات JSON-keys لإعادة تسمية كل مفتاح في كائن متداخل.
camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, COBOL-CASE, dot.case, path/case, Title Case, Sentence case, UPPERCASE, lowercase. الصق مرة واحدة، وشاهد كل مخرجة فوراً.
تقسم المُعرِّفات بشكل صحيح عبر جميع أنماط الإدخال — `XMLHttpRequest` ← `xml_http_request`، `userIDToken` ← `user_id_token`. تتعامل مع الاختصارات والأرقام والفواصل المختلطة (_, -, ., /) دون التباس.
الصق كائن JSON متداخلاً وأعد كتابة كل مفتاح بالنمط الذي تختاره — بشكل تكراري. اختيارياً، حوّل القيم النصية أيضاً. يحافظ على المصفوفات والأنواع والبنية.
كل صف مخرج لديه زر نسخ خاص به — انقر فتذهب القيمة إلى حافظتك. تأكيد بصري؛ بدون إفراط في إشعارات Toast.
كل تحويل يعمل بـ JavaScript على جهازك. لا تُنقل أي مُعرِّفات أو JSON أو نشاط حافظة إطلاقاً. افتح DevTools ← Network وتحقق من عدم وجود طلبات صادرة.
JavaScript نقي، بدون وقت تشغيل أي إطار عمل. التحميل البارد أقل من 25 KB مضغوطة بـ gzip. كل التحويلات الـ11 لأي سلسلة تنتهي في أقل من 1 ms.
وضعان — سلسلة مفردة ودفعة مفاتيح JSON.
سلسلة مفردة لمعرّف أو عبارة واحدة — اكتب / الصق مرة واحدة، وشاهد كل المخرجات الـ11. مفاتيح JSON (دفعة) عندما تحتاج إلى تحويل كل مفتاح في استجابة API متداخلة أو ملف إعدادات.
وضع السلسلة المفردة يقبل أي إدخال — `userFirstName`, `user_first_name`, `user-first-name`, `USER FIRST NAME`، حتى `XMLHttpRequest`. يقسمه المُجزِّئ بشكل صحيح ويعيد ربطه لكل نمط مخرج. وضع JSON يقبل أي كائن JSON صالح — لا يهم العمق.
في وضع السلسلة المفردة، تظهر كل المخرجات الـ11 معاً — اختر ما تحتاجه. في وضع JSON، اختر حالة هدف واحدة من القائمة المنسدلة؛ تُعاد كتابة كل مفتاح في الكائن بهذا النمط.
انقر على أيقونة النسخ بجوار أي صف مخرج لإرساله إلى الحافظة. لإخراج JSON، انسخ كتلة النتيجة بالكامل — والصقها مباشرة في قاعدة الكود الخاصة بك أو عميل API.
أربعة سيناريوهات شائعة حيث يتفوق اللصق مرة واحدة والحصول على كل نمط على إعادة التسمية يدوياً.
يعطيك الـ Backend `user_first_name`؛ ويريد الـ Frontend `userFirstName`. الصق، انسخ، الصق — انتهى. استخدم وضع دفعات JSON لتحويل كل مفتاح في عينة استجابة API في خطوة واحدة (ثم اكتب قالب codegen بناءً على النتيجة).
تنقل مكتبة Python إلى JavaScript؟ خذ مُعرِّفات snake_case من مصدر Python ومرّرها عبر مخرج camelCase. ضع النتيجة في نسختك بـ JS. يتعامل المُجزِّئ الذكي مع `__double_underscore` والأرقام اللاحقة دون كسر.
حوّل `MY_AWESOME_FEATURE_FLAG` (اصطلاح متغيرات البيئة) إلى `myAwesomeFeatureFlag` (متغير JS) أو `my_awesome_feature_flag` (Python). الذهاب والإياب بين CONSTANT_CASE / camelCase / snake_case دقيق.
BEM يتوقع kebab-case: `.user-card__avatar--large`. حصلت على اسم متغير JS من مصمم (`userCardAvatarLarge`)؟ حوّله في خطوة واحدة. مفيد لأدوات Tailwind وأسماء حزم npm وعناوين URL وأسماء علامات CLI — كلّها تفضّل kebab-case.
المُعرِّفات وJSON لا تغادر جهازك أبداً. افتح DevTools ← Network وسترى صفر طلبات صادرة أثناء التحويل أو النسخ.
navigator.clipboard.writeText القياسية؛ لا يُسجَّل شيء.
قراءات منتقاة حول اصطلاحات التسمية وتصميم API وإعادة الهيكلة.
Language conventions, framework defaults, and the team-trumps-style rule. With practical examples for JavaScript, Python, Go, Rust, and CSS.
Why most APIs accidentally pick the wrong style — and three patterns (interceptor, codegen, manual) for keeping both sides happy without the bugs.
كلّها طرق لكتابة مُعرِّفات متعددة الكلمات (أو أسماء ملفات أو URLs أو فئات CSS) دون مسافات. camelCase تكتب أول حرف من كل كلمة بعد الأولى بحرف كبير (`userFirstName`)، تُستخدم في JavaScript وJava وSwift. snake_case تجعل كل شيء بأحرف صغيرة وتربط بالشرطات السفلية (`user_first_name`)، تُستخدم في Python وRuby وSQL. kebab-case تستخدم الشرطات (`user-first-name`)، وتُستخدم في CSS وHTML وعناوين URL وعلامات سطر الأوامر. PascalCase هي camelCase مع كتابة أول حرف بحرف كبير أيضاً (`UserFirstName`)، تُستخدم لأسماء الفئات / الأنواع في كثير من اللغات.
يستخدم المُجزِّئ قاعدتي حدود: صغير-إلى-كبير (`a` متبوعاً بـ `B` = تقسيم) وأحرف كبيرة-ثم-Title (سلسلة من الأحرف الكبيرة متبوعة بحرف صغير تُقسَم قبل آخر حرف كبير). إذن `XMLHttpRequest` تصبح `[XML, Http, Request]` ← `xml_http_request` / `xmlHttpRequest` / `XmlHttpRequest`. و`userIDToken` تصبح `[user, ID, Token]` ← `user_id_token`. يطابق هذا ما توصي به معظم أدلة أنماط اللغات.
الصق كائن JSON — حتى لو كان متداخلاً بعمق — واختر نمط حالة هدف. تجوب الأداة الشجرة بأكملها بحثاً بالعمق أولاً، وتحوّل كل مفتاح (بما في ذلك المفاتيح داخل المصفوفات)، وتُخرج JSON المُعاد بناؤه. تُحفظ المصفوفات والأنواع (number / boolean / null) والبنية تماماً. فعّل "تحويل القيم النصية أيضاً" لإعادة كتابة محتويات كل حقل قيمته نصية عبر المُجزِّئ نفسه.
اتبع الاصطلاح المهيمن في لغتك أولاً، ثم في فريقك ثانياً. الافتراضي: camelCase لـ JS / Java / Swift / Kotlin / Go (الأسماء المُصدَّرة تستخدم PascalCase)، snake_case لأعمدة Python / Ruby / Rust / SQL، kebab-case لفئات CSS / سمات HTML / مسارات URL / حزم npm / علامات CLI، SCREAMING_SNAKE_CASE لمتغيرات البيئة وثوابت اللغة. عند التحويل بين الطبقات (snake_case API ← camelCase frontend)، اختر حداً واحداً وأبقِ بقية النظام متّسقاً.
لا. التجزئة وكل تحويل ووضع دفعات JSON-keys كلّها تعمل بـ JavaScript في متصفحك. افتح DevTools ← Network وسترى صفر طلبات صادرة أثناء الاستخدام. نستخدم cookie واحداً لحالة موافقة ملفات تعريف الارتباط وآخر لتفضيل اللغة، فقط.