24 converter واحدها · ارز · فایل‌ها

تبدیل متن به snake_case underscore_case رایگان آنلاین امن

یک سطر را بچسبانید و آن را به‌صورت snake_case بخوانید. همه‌چیز در مرورگر شما انجام می‌شود — هیچ چیزی که تایپ می‌کنید به جایی فرستاده نمی‌شود — و قواعد از زبان همین صفحه پیروی می‌کنند، نه از انگلیسی.

آن را به شکل دیگری بنویسید

واژه‌ها با زیرخط به هم وصل می‌شوند
درباره این شیوه نگارش
چه کاری انجام می‌دهد سطر را به واژه‌ها می‌شکند، آن‌ها را با حروف کوچک می‌نویسد و با زیرخط به هم وصل می‌کند. سطری که از قبل به‌صورت camelCase نوشته شده باشد هم در همان نقطه‌ها شکسته می‌شود، پس «fooBar» به «foo_bar» تبدیل می‌شود.
چه کاری انجام نمی‌دهد علائم نگارشی را نگه نمی‌دارد. ویرگول، نقطه و خط تیره مرز میان واژه‌ها هستند، نه نویسه‌هایی که باید منتقل شوند — که برای نام فایل یا ستون پایگاه داده همان است که می‌خواهید، و برای متن نثر نه.
و زبان شکستن به واژه‌ها به مرز نیاز دارد. چینی و ژاپنی بدون فاصله نوشته می‌شوند، پس سطری به آن خط‌ها به‌صورت یک واژه برمی‌گردد — صفحه ترجیح می‌دهد همین را بگوید تا اینکه در جایی که حدس زده ببرد.
کجا اجرا می‌شود در مرورگر شما. آنچه اینجا تایپ می‌کنید هرگز به جایی فرستاده نمی‌شود؛ پس یک پیش‌نویس، یک گذرواژه یا نام یک مشتری همان‌قدر اینجا امن است که در یک ویرایشگر متن.

بدون بارگذاری

همان سطر در هر هفت شیوه نگارش

شیوه نگارش همان سطر، با آن شیوه نگارش
حروف بزرگCRÈME BRÛLÉE FOR 2 — STRASSE 17, FOOBAR
حروف کوچکcrème brûlée for 2 — straße 17, foobar
Title CaseCrème Brûlée For 2 — Straße 17, Foobar
snake_casecrème_brûlée_for_2_straße_17_foo_bar
kebab-casecrème-brûlée-for-2-straße-17-foo-bar
camelCasecrèmeBrûléeFor2Straße17FooBar
اسلاگ URLcreme-brulee-for-2-strasse-17-foobar

این شکل‌ها از کجا آمده‌اند

حروف بزرگ و کوچک لاتین روزگاری دو الفبای جداگانه بودند. حروف بزرگ رومی‌اند و با اسکنه روی سنگ کنده می‌شدند؛ حروف کوچک از خط مینوسکول کارولنژی پدید آمدند که با قلمی در حرکت سریع روی پوست (پرگامنت) شکل گرفت. چاپگران این دو را در سینی‌های جدا نگه می‌داشتند — جعبهٔ بالا (upper case) و جعبهٔ پایین (lower case) — و این نام‌ها مدت‌ها پس از ناپدید شدن سینی‌ها ماندگار شد. شکل‌های برنامه‌نویسی خیلی جوان‌ترند و برای حل یک مشکل ابداع شدند: نام نمی‌تواند فاصله داشته باشد. snake_case از زبان C در روزهای نخستش آمد، camelCase از Smalltalk، kebab-case از Lisp، و slug نشانی وب از نیاز به گذاشتن یک عنوان انسانی در نشانی‌ای که فاصله و حروف دارای علامت (accent) در آن مجاز نیست.

کجا با آن‌ها روبه‌رو می‌شوید

حالت عنوان (Title Case) برای سرتیترها و عنوان کتاب‌هاست؛ حالت جمله (Sentence case) برای تقریباً هر چیز دیگر، و روزبه‌روز بیشتر برای رابط‌های کاربری، چون سریع‌تر خوانده می‌شود. snake_case نام ستون‌های پایگاه داده و متغیرهای Python را می‌سازد؛ camelCase نام متغیرهای JavaScript و متدهای Java را؛ kebab-case نام کلاس‌های CSS و فایل‌ها در پروژه‌های وب را. slug چیزی است که عنوان یک مقاله را به بخش آخر نشانی آن تبدیل می‌کند، و تنها تبدیلی در اینجاست که موتورهای جستجو آن را می‌خوانند.

پرسش‌های متداول

چرا بزرگ‌کردن حروف گاهی تعداد حروف را تغییر می‌دهد؟

چون بزرگی و کوچکی حروف ویژگی زبان است، نه ویژگی یک نویسه. ß آلمانی در حروف بزرگ به SS تبدیل می‌شود، یعنی یک حرف دو حرف می‌شود. ترکی یک i نقطه‌دار و یک i بدون نقطه دارد و بزرگ‌کردن i به İ می‌انجامد نه I — اشتباه گرفتن این، یک واژهٔ ترکی را به واژه‌ای دیگر بدل می‌کند. تبدیل‌های اینجا از قواعد زبان خودِ صفحه پیروی می‌کنند، و برای همین ورودی یکسان می‌تواند در صفحهٔ ترکی نتیجه‌ای متفاوت از صفحهٔ انگلیسی بدهد.

چرا slug علامت‌های تلفظی و نشانه‌گذاری را حذف می‌کند؟

چون یک نشانی باید از کپی شدن در پیام، چاپ روی کاغذ و تایپ دوباره با دست سالم به در ببرد. حروف دارای علامت در نشانی‌های وب امروزی مجازند، اما هنگام کپی به‌صورت درصدی (percent-encoded) درمی‌آیند و یک نشانی خوانا را به ردیفی از نمادها تبدیل می‌کنند. ساده‌کردن آن‌ها به حروف ساده، ارقام و خط تیره، نشانی را خوانا، قابل اشتراک و در همه‌جا یکسان نگه می‌دارد.

آیا پاسخ دقیق است؟

هر جا دو واحد با عددهای صحیح بر حسب یکدیگر تعریف شده باشند، بله — صفحه این را بالای عدد می‌گوید و تنها گرد کردن در تعداد رقم‌های نمایش‌داده‌شده است. جایی که نسبت اعشار متناهی ندارد، صفحه دوازده رقم معنادار نشان می‌دهد و می‌گوید رابطه تقریبی است، نه اینکه وانمود کند دقیق است.

آیا چیزی که تایپ می‌کنم از دستگاهم خارج می‌شود؟

نه. محاسبه در مرورگر شما انجام می‌شود؛ هیچ چیزی بارگذاری نمی‌شود و سروری هم نیست که چیزی به آن بارگذاری شود. یک بار صفحه را باز کنید؛ با قطع بودن شبکه هم به کار خود ادامه می‌دهد.

چرا متن را به snake_case تبدیل می‌کنید

برنامه‌نویس نمی‌تواند متغیری را annual report total نام بگذارد، چون نام نمی‌تواند فاصله داشته باشد. ستون پایگاه داده را نمی‌توان Customer First Name نامید. فایلی به نام Final Draft (2).docx دیر یا زود اسکریپتی را عصبانی می‌کند. جایی در این مسیر عبارت انسانی باید به یک کلمه تبدیل شود، و شکلی که جامعه‌های بسیاری به آن رسیده‌اند snake_case است: همهٔ حرف‌ها کوچک، کلمه‌ها وصل‌شده با زیرخط، annual_report_total، customer_first_name، final_draft_2. تبدیل متن به snake_case یعنی هر عبارتی را، در هر حالتی، در یک گام به آن شکل درآورید.

یک خط را بچسبانید و آن را به صورت snake_case بخوانید. تبدیل در مرورگر شما انجام می‌شود، چیزی که می‌نویسید به جایی فرستاده نمی‌شود، و قاعده‌ها از زبان این صفحه پیروی می‌کنند نه انگلیسی. خط را به کلمه‌ها می‌برد، آن‌ها را کوچک می‌کند و با زیرخط به هم وصل می‌کند. خطی که از قبل به camelCase نوشته شده در حرف‌های بزرگش هم بریده می‌شود، پس fooBar به foo_bar تبدیل می‌شود. در ادامه می‌خوانید این دقیقاً یعنی چه، چه چیزی کنار گذاشته می‌شود، صفحه با حرف‌های دشوار زبان‌های مختلف چگونه رفتار می‌کند، snake_case کجا قرارداد است و کجا نیست، و دام‌هایی که گریبان کسانی را می‌گیرد که با عجله متن را به snake_case تبدیل می‌کنند.

تبدیل چه می‌کند

برش، کوچک کردن، چسباندن

صفحه اول خط را به کلمه‌ها می‌برد. بعد هر کدام را کوچک می‌کند و با زیرخط به هم وصل می‌کند. خط Crème brûlée for 2 — straße 17, fooBar به صورت crème_brûlée_for_2_straße_17_foo_bar برمی‌گردد. اعراب‌ها حفظ می‌شوند، عددها به عنوان کلمه‌هایی مستقل می‌مانند، خط تیره و ویرگول رفته‌اند، و fooBar به دو نیم شده است، چون حرف بزرگ درونش مرزی را نشان می‌دهد.

برش‌ها کجا می‌افتند

مرز کلمه فاصله است، یا علامت نگارشی، خط تیره، نماد، یا تغییر از حرف کوچک به حرف بزرگ درون یک کلمه. پس عبارت customerFirstName، عبارت Customer First Name و عبارت customer-first-name همه به customer_first_name تبدیل می‌شوند. این قدرت عملی تبدیل است: تقریباً هر نقطهٔ شروعی را می‌پذیرد و همیشه به همان‌جا می‌رسد.

کپی کردن نتیجه

دکمه‌ای کنار نتیجه آن را در کلیپ‌بورد کپی می‌کند. در ویرایشگر، طرح‌واره یا پنجرهٔ فایلی که نام لازم است بچسبانید.

تبدیل چه نمی‌کند

علامت‌های نگارشی را نگه نمی‌دارد

ویرگول، نقطه و خط تیره مرز میان کلمه‌ها هستند، نه نویسه‌هایی که باید منتقل شوند. برای نام فایل یا ستون پایگاه داده همین را می‌خواهید و برای نثر نه. اگر جمله‌ای را از صفحه بگذرانید، به صورت نام برمی‌گردد نه جمله، و نگارش اصلی رفته است.

اعراب را برنمی‌دارد

خط حرف‌های اعرابی‌اش را نگه می‌دارد: crème_brûlée. بسیاری از سیستم‌ها آن‌ها را می‌پذیرند، اما برخی نه، و نامی که آن‌ها را دارد ممکن است در ابزارهای قدیمی‌تر دردسر بسازد. اگر حرف ساده می‌خواهید، از صفحهٔ اسلاگ URL استفاده کنید که نشانه‌ها را از حرف‌های لاتین برمی‌دارد.

معتبر بودن نام در زبان شما را بررسی نمی‌کند

زبان‌های برنامه‌نویسی قاعده‌های خودشان را دارند. برخی نامی را که با رقم شروع شود ممنوع می‌کنند، برخی کلمه‌هایی مثل class یا return را رزرو کرده‌اند. صفحه متن را به نامی با شکل درست تبدیل می‌کند، و شما هنوز باید مطمئن شوید نام در جایی که به کار می‌برید مجاز است. عبارتی مثل 2 for 1 offer به 2_for_1_offer تبدیل می‌شود، که بیشتر زبان‌ها در همان آغاز رد می‌کنند.

زبان اهمیت دارد

خط‌هایی که بدون فاصله نوشته می‌شوند

برش به کلمه‌ها مرز لازم دارد. چینی و ژاپنی بدون فاصله نوشته می‌شوند، پس خطی به آن خط‌ها به صورت یک کلمه برمی‌گردد. صفحه ترجیح می‌دهد همین را بگوید تا اینکه در جایی که حدس زده ببرد، چون برش اشتباه نامی تولید می‌کند که موجه به نظر می‌رسد و معنای غلط دارد.

ترکی و i نقطه‌دار

کوچک کردن از قاعده‌های زبان صفحه پیروی می‌کند. در ترکی، شکل کوچک I همان ı بدون نقطه است، و شکل کوچک İ برابر i. مبدلی که قاعده‌های انگلیسی را اعمال کند کلمه‌ها را تغییر می‌دهد. این صفحه از زبانی که به آن نوشته شده پیروی می‌کند.

آلمانی و s تیز

ß آلمانی از قبل حرف کوچک است و حفظ می‌شود، مثل straße_17. STRASSE بزرگ به صورت strasse برمی‌گردد، چون شکل بزرگ به یاد ندارد از ß آمده یا از دو حرف.

خط‌های راست‌به‌چپ و هندی

عربی، عبری و خط‌های هندی میان کلمه‌ها فاصله دارند و حروف بزرگ و کوچک ندارند، پس صفحه کلمه‌هایشان را با زیرخط به هم وصل می‌کند و حرف‌ها را همان‌طور که هستند می‌گذارد. اینکه فلان ابزار چنین نام‌هایی را بپذیرد یا نه پرسش دیگری است.

snake_case کجا قرارداد است

پایتون و روبی

راهنمای سبک پایتون snake_case را برای تابع‌ها، متغیرها و ماژول‌ها توصیه می‌کند، و روبی از همین عادت پیروی می‌کند. اگر در هر کدام کد می‌نویسید، نام‌هایتان تقریباً همیشه به این شکل‌اند.

پایگاه‌های داده

نام جدول‌ها و ستون‌ها در SQL معمولاً snake_case است: customer_id، created_at، order_total. نیاز به گیومه گذاشتن دور نام‌ها را از میان برمی‌دارد و میان سیستم‌های پایگاه داده امن است، که برخی از آن‌ها نام‌های بدون گیومه را به یک حالت حروف تبدیل می‌کنند و camelCase را به رشته‌ای ناخوانا از حرف‌ها بدل می‌کنند.

فایل‌های داده و API‌ها

بسیاری از سرویس‌های وب در JSON خود کلیدهای snake_case به کار می‌برند، و صفحه‌گسترده‌هایی که برای پردازش بیشتر خروجی گرفته می‌شوند اغلب سرستون‌های snake_case دارند. اگر داده‌های شما در راه CSV به JSON است، ردیف سرستون به کلیدها تبدیل می‌شود، و سرستون‌های مرتب snake_case استفاده از نتیجه را آسان می‌کنند.

ثابت‌ها و متغیرهای محیطی

ثابت‌ها و متغیرهای محیطی طبق قرارداد با حروف بزرگ و زیرخط نوشته می‌شوند: MAX_RETRIES، DATABASE_URL. راه گرفتنشان این است که اول متن را به snake_case تبدیل کنید و بعد نتیجه را با تبدیل متن به حروف بزرگ بالا ببرید.

نام فایل‌ها

حروف کوچک با زیرخط نام فایل امنی روی هر سیستم است، و مرتب‌سازی و جست‌وجو با آن قابل پیش‌بینی است. بسیاری از عکاسان، پژوهشگران و مدیران دقیقاً به همین دلیل از آن استفاده می‌کنند.

کجا قرارداد نیست

جاوااسکریپت و جاوا

این زبان‌ها camelCase را برای متغیرها و تابع‌ها و PascalCase را برای کلاس‌ها ترجیح می‌دهند. نامی از یک اسکریپت پایتون شاید پیش از ظاهر شدن در فایل جاوااسکریپت نیاز به تبدیل داشته باشد. برای آن camelCase را ببینید.

CSS و نشانی‌های وب

نام کلاس‌های CSS و نشانی‌های وب معمولاً خط تیره به کار می‌برند، نه زیرخط. ابزارش kebab-case است. موتورهای جست‌وجو خط تیره را جداکنندهٔ کلمه و زیرخط را چسباننده می‌دانند، تفاوتی کوچک که پشت عادت نشانی‌های خط‌تیره‌دار است.

نثر و عنوان‌ها

snake_case برای نام‌هاست، نه برای خواندن. عنوان یا جمله به آن برای چشم سخت است. برای متن انسانی کلمه‌ها و فاصله‌ها را نگه دارید، و برای سرفصل Title Case را در نظر بگیرید.

چگونه در اینجا متن را به snake_case تبدیل کنیم

متن خود را بچسبانید یا تایپ کنید

عبارت را در میدان اول وارد کنید. نتیجه بلافاصله در دومی ظاهر می‌شود، پس می‌توانید هنگام تایپ تغییرش را ببینید.

برش‌ها را بررسی کنید

ببینید کلمه‌ها کجا تقسیم شده‌اند. کلمه‌ای مثل iPhone یا eBay در حرف بزرگ بریده می‌شود، و سرواژه‌ای مثل HTTPServer نگاهی می‌خواهد تا ببینید همان‌طور که می‌خواستید درآمده است.

کپی کنید

دکمهٔ کپی را بزنید و نتیجه را هر جا لازم است بچسبانید. برای شکل‌های دیگر همان خط، پایین را ببینید.

استفاده از snake_case در یک پروژهٔ کامل

یک قرارداد برای کل پشته

پروژه‌ای که سبک‌های نام‌گذاری را قاطی می‌کند از پروژه‌ای که کمی زشت اما یکدست است سخت‌تر خوانده می‌شود. اگر پایگاه داده snake_case به کار ببرد، کدی که با آن حرف می‌زند اغلب همین کار را می‌کند، و فایل‌هایی که میانشان جابه‌جا می‌شوند هم پیروی می‌کنند. وقتی برای ستون یا میدان تازه‌ای متن را به snake_case تبدیل می‌کنید، نامی را انتخاب می‌کنید که هر لایهٔ دیگر باید با آن زندگی کند، پس یک بار انتخابش کنید و در همه‌جا ادامه دهید.

جابه‌جایی نام‌ها میان قراردادها

دیر یا زود نامی از یک قرارداد باید در قراردادی دیگر ظاهر شود. ستون پایگاه داده customer_first_name در شیء جاوااسکریپت customerFirstName می‌شود و در کلاس CSS یا URL customer-first-name. به جای تایپ دوبارهٔ هر کدام با دست، اصل را در صفحه‌ای بچسبانید که شکل مورد نیازتان را تولید می‌کند: camelCase برای کد در خانوادهٔ C و جاوااسکریپت و kebab-case برای شیوه‌نامه‌ها و نشانی‌ها. سه شکل یک نام ترجمهٔ دقیق یکدیگرند، و مبدل آن‌ها را یکدست می‌سازد.

فایل‌های پیکربندی

فایل‌های تنظیمات اغلب کلیدهای snake_case دارند، به‌ویژه در YAML که بسیاری از ابزارها به کار می‌برند. وقتی چنین فایلی را از داده‌های نگه‌داری‌شده به صورت JSON آماده می‌کنید، JSON به YAML کلیدها را همان‌طور که نوشته‌اید نگه می‌دارد، و YAML به JSON عکسش را انجام می‌دهد. پیش از شروع بر snake_case برای کلیدها توافق کنید، و تبدیل میان قالب‌ها آن‌ها را به هم نمی‌ریزد.

تغییر نام دسته‌جمعی

اگر فایل دادهٔ ارثی‌ای دارید که سرستون‌هایش مخلوطی از سبک‌هاست، هر سرستون را با این صفحه تبدیل کنید و همه را یک‌جا جایگزین کنید. اول با نمونه‌ای کوچک آزمایش کنید، چون اسکریپتی که فایل را بر اساس سرستون می‌خواند اگر نامی فقط در برخی جاها عوض شود می‌شکند. فهرستی از نام‌های قدیم و جدید را کنار فایل نگه دارید تا همکار ببیند چه عوض شده است.

نوشتن نام‌هایی که می‌مانند

بگویید چیز چیست، نه اینکه چگونه ذخیره شده

نام خوب محتوا را توصیف می‌کند. order_total می‌گوید عدد چه معنایی دارد؛ col7 نمی‌گوید. وقتی متن را به snake_case تبدیل می‌کنید، مطمئن شوید عبارتی که از آن شروع می‌کنید روشن‌ترینی است که می‌توانید بنویسید، چون مبدل وضوح یا آشفتگی‌اش را وفادارانه حفظ می‌کند.

از اختصارهایی که فقط خودتان می‌فهمید بپرهیزید

نامی مثل cust_fn_dt برای هر کس دیگر معماست، و برای خودتان شش ماه بعد. زیرخط ارزان است، کلمه‌های اضافه هم. نام بلندتری که مثل جمله خوانده می‌شود هدیهٔ بهتری به نفر بعد است تا نامی کوتاه که راهنما لازم دارد.

مفرد و جمع را یکدست نگه دارید

تصمیم بگیرید جدول‌ها به صورت مفرد نام بگیرند، customer، یا جمع، customers، و به آن بچسبید. قرارداد کمتر از یکدستی‌اش اهمیت دارد. عبارتی که به snake_case تبدیل می‌شود هر شمارگانی را که به آن داده‌اید نگه می‌دارد.

در صورت لزوم پیشوند بگذارید

در طرح‌واره‌ای بزرگ، پیشوندی کوتاه نام‌های مرتبط را گروه می‌کند: billing_address، billing_city، billing_country. تایپ عبارت با پیشوند و تبدیل آن نتیجه‌های یکدست می‌دهد، و فهرست الفبایی بعد خودش گروه می‌شود.

نام‌ها را پیش از تعهد به آن‌ها آزمایش کنید

پیش از اینکه نامی وارد طرح‌واره یا API شود، آن را در جاهایی که ظاهر خواهد شد امتحان کنید: یک پرس‌وجو، یک متغیر، یک فهرست فایل. اگر در هر سه طبیعی خوانده شود، به کار می‌آید. اگر ناجور بود، عبارت را کوتاه یا بازنویسی کنید و دوباره متن را به snake_case تبدیل کنید. یک دقیقه آزمایش در ابتدا از تغییر نام در صدها فایل بعدها جلوگیری می‌کند.

همان خط در هر هفت نوشتار

جدولی از شکل‌ها

زیر مبدل، جدولی خط نمونه را در هر هفت شکلی که سایت عرضه می‌کند نشان می‌دهد: حروف بزرگ، حروف کوچک، Title Case، snake_case، kebab-case، camelCase و اسلاگ URL. راهی سریع است برای دیدن اینکه همان کلمه‌ها در هر کدام چه شکلی دارند.

این شکل‌ها از کجا آمده‌اند

دو الفبا

حرف‌های بزرگ و کوچک روزی دو الفبای جدا بودند. حرف‌های بزرگ رومی‌اند، با قلم‌ازن بر سنگ حک شده؛ حرف‌های کوچک از مینوسکول کارولنژی می‌آیند، شکل‌گرفته با قلمی که تند روی پوست می‌لغزید. چاپگران این دو را در جعبه‌های جدا نگه می‌داشتند، جعبهٔ بالا و جعبهٔ پایین، و نام‌ها مدت‌ها پس از رفتن جعبه‌ها ماندند.

نام‌های بدون فاصله

شکل‌های برنامه‌نویسی بسیار جوان‌ترند و برای حل یک مشکل ابداع شدند: نام نمی‌تواند فاصله داشته باشد. snake_case از C اولیه آمد، camelCase از Smalltalk، kebab-case از Lisp، و اسلاگ URL از نیاز به گذاشتن عنوان انسانی در نشانی‌ای که فاصله و اعراب در آن مجاز نیست. زیرخط نویسهٔ مناسبی روی صفحه‌کلیدهای آن زمان بود، و شبیه فاصله‌ای است که روی خط نشسته باشد.

دام‌ها هنگام تبدیل متن به snake_case

شروع نام با رقم

بیشتر زبان‌ها و پایگاه‌های داده نامی را که با عدد شروع شود رد می‌کنند. اگر عبارت با عدد شروع می‌شود، حرف یا کلمه‌ای جلویش بگذارید.

انتظار برخورد با کلمه‌های رزروشده

عبارتی مثل class یا order ممکن است در زبان شما یا در SQL کلمهٔ رزروشده باشد. صفحه نمی‌داند، و شما باید بررسی کنید.

سرواژه‌ها

سرواژه‌ای درون نام camelCase، مثل parseHTMLString، بسته به قاعده ممکن است به parse_h_t_m_l_string یا parse_html_string بریده شود. بررسی کنید نتیجه همان باشد که می‌خواهید.

نام‌های خیلی بلند

پایگاه‌های داده و سیستم‌های فایل محدودیت طول دارند. عبارت بلندی که به نام تبدیل شود ممکن است به آن بخورد. پیش از تبدیل عبارت را کوتاه کنید.

پرسش‌هایی که مردم پیش از تبدیل می‌پرسند

با علامت‌های نگارشی چه می‌شود؟

مرز میان کلمه‌ها به حساب می‌آیند و منتقل نمی‌شوند.

آیا عددها حفظ می‌شوند؟

بله، به عنوان کلمه‌هایی مستقل که با زیرخط جدا شده‌اند.

آیا ورودی camelCase را هم کار می‌کند؟

بله. حرف بزرگ درون کلمه نشانهٔ برش است، پس fooBar به foo_bar تبدیل می‌شود.

آیا می‌توانم برای زبان‌های دیگر استفاده کنم؟

بله، با قاعده‌های زبان صفحه. خط‌های بدون فاصله مثل چینی و ژاپنی به صورت یک کلمه برمی‌گردند.

آیا متن من بارگذاری می‌شود؟

خیر. آنچه اینجا تایپ می‌کنید هرگز به جایی فرستاده نمی‌شود، پس پیش‌نویس، گذرواژه یا نام مشتری اینجا به‌اندازهٔ ویرایشگر متن امن است.

چگونه به جای آن خط تیره بگیرم؟

با تبدیل متن به kebab-case.

یک مثال عملی

فرض کنید پایگاه دادهٔ کوچکی برای یک کتابخانه می‌سازید و کارکنان عنوان ستون‌های صفحه‌گسترده‌شان را برایتان فرستاده‌اند: Book Title، Author's Last Name، Year Published (YYYY)، ISBN-13. هر کدام را به نوبت تبدیل می‌کنید و book_title، author_s_last_name، year_published_yyyy و isbn_13 را می‌خوانید. آپوستروف ستون نویسنده را به چیزی نامرتب تبدیل کرده، پس اصل را به Author Last Name کوتاه می‌کنید و دوباره تبدیل می‌کنید: author_last_name. ستون سال بدون یادداشت قالب روشن‌تر است، پس year_published را نگه می‌دارید. چهار نام ستون مرتب، نوشته‌شده در یک دقیقه، و هر کدام نامی که پایگاه داده می‌پذیرد.

یک فهرست بررسی کوتاه

پیش از تبدیل

عبارت را با کلمه‌های ساده، بدون یادداشت درون پرانتز بنویسید. بررسی کنید مقصد زیرخط و اعراب را می‌پذیرد.

هنگام تبدیل

عبارت را بچسبانید، برش‌ها را ببینید و مطمئن شوید نام با حرف شروع می‌شود.

پس از تبدیل

طول را بررسی کنید، با کلمه‌های رزروشده مقایسه کنید و سابقهٔ عبارت اصلی را نگه دارید تا نام را بتوان تا معنایش ردیابی کرد.

اشتباه‌های رایج

استفاده از snake_case برای متنی که مردم می‌خوانند

برای نام‌هاست، نه برای نثر.

فراموش کردن آنچه مقصد اجازه می‌دهد

رقم در ابتدا، اعراب و محدودیت طول بین سیستم‌ها فرق دارند.

تبدیل سرواژه‌ها بدون نگاه کردن

برش‌های اطرافشان را بررسی کنید.

متن شما روی دستگاه شما می‌ماند

تبدیل به صورت محلی انجام می‌شود. متن شما را مرورگر خودتان پردازش می‌کند و چیزی به جایی فرستاده نمی‌شود. بعداً چیزی برای پاک کردن نیست و حساب کاربری‌ای برای ساختن. این راه ساده برای تبدیل متن به snake_case است.

خلاصه

برای تبدیل متن به snake_case در اینجا، یک خط را بچسبانید و آن را با کلمه‌های بریده، کوچک‌شده و وصل‌شده با زیرخط بخوانید. خطی که از قبل به camelCase نوشته شده هم همان‌جا بریده می‌شود، پس fooBar به foo_bar تبدیل می‌شود. صفحه علامت‌های نگارشی را نگه نمی‌دارد: ویرگول، نقطه و خط تیره مرز میان کلمه‌ها هستند، نه نویسه‌هایی که باید منتقل شوند، که برای نام فایل یا ستون پایگاه داده همین را می‌خواهید و برای نثر نه. برش به کلمه‌ها مرز لازم دارد، پس چینی و ژاپنی، که بدون فاصله نوشته می‌شوند، به صورت یک کلمه برمی‌گردند. کوچک کردن از زبان صفحه پیروی می‌کند. چیزی بارگذاری نمی‌شود.

طول و مساحت جرم و حجم دما ارز