Metni snake_case biçimine dönüştürme underscore_case Ücretsiz Çevrimiçi Güvenli
Bir satır yapıştırın, snake_case olarak okuyun. Hepsi tarayıcınızda olur — yazdığınız hiçbir şey hiçbir yere gönderilmez — ve kurallar İngilizceyi değil, bu sayfanın dilini izler.
Başka türlü yazın
Hiçbir şey yüklenmez
Aynı satır, yedi yazımın hepsinde
| Yazım | Aynı satır, öyle yazılmış |
|---|---|
| büyük harf | İSTANBUL BOĞAZI'NDA 2 KİŞİ — CRÈME BRÛLÉE, FOOBAR |
| küçük harf | istanbul boğazı'nda 2 kişi — crème brûlée, foobar |
| Title Case | İstanbul Boğazı'Nda 2 Kişi — Crème Brûlée, Foobar |
| snake_case | istanbul_boğazı_nda_2_kişi_crème_brûlée_foo_bar |
| kebab-case | istanbul-boğazı-nda-2-kişi-crème-brûlée-foo-bar |
| camelCase | istanbulBoğazıNda2KişiCrèmeBrûléeFooBar |
| bir URL adresi | istanbul-bogazi-nda-2-kisi-creme-brulee-foobar |
Bu biçimler nereden geliyor
Büyük ve küçük harfler bir zamanlar iki ayrı alfabeydi. Büyük harfler Roma'dandır, taşa kalemle oyulmuştur; küçük harfler, parşömen üstünde hızla koşan bir kamıştan biçimlenen Karolenj minüskülünden iner. Basımcılar ikisini ayrı kasalarda tuttu — üst kasa ile alt kasa — ve kasalar yok olduktan çok sonra bile adlar kaldı. Programlama biçimleri çok daha gençtir ve tek bir sorunu çözmek için uyduruldu: bir ad boşluk içeremez. snake_case erken C'den, camelCase Smalltalk'tan, kebab-case Lisp'ten, URL slug'ı ise insanın okuyacağı bir başlığı, boşluk ve aksan kabul etmeyen bir adrese koyma ihtiyacından doğdu.
Onlarla nerede karşılaşırsınız
Her sözcüğü büyük harfle yazmak başlıklara ve kitap kapaklarına aittir; cümle düzeninde yazmak ise geri kalan hemen her şeye ve giderek arayüzlere, çünkü daha hızlı okunur. snake_case veritabanı sütunlarını ve Python değişkenlerini adlandırır; camelCase JavaScript değişkenlerini ve Java yöntemlerini; kebab-case CSS sınıflarını ve web projelerindeki dosya adlarını. Slug ise bir yazının başlığını adresinin son parçasına dönüştüren şeydir ve buradaki çevrimler arasında arama motorlarının okuduğu tek çevrim odur.
Sık sorulan sorular
Büyük harfe çevirmek neden bazen harf sayısını değiştiriyor?
Çünkü harf büyüklüğü dilin bir özelliğidir, karakterin değil. Almancadaki ß büyük harfte SS olur; bir harf ikiye çıkar. Türkçede noktalı ve noktasız i vardır; i'nin büyüğü I değil İ'dir — burada yanılmak Türkçe bir sözcüğü başka bir sözcüğe çevirir. Buradaki çevrimler sayfanın kendi dilinin kurallarını izler; aynı girdinin Türkçe sayfada İngilizce sayfadakinden başka çıkmasının sebebi budur.
Slug neden aksanları ve noktalama işaretlerini atıyor?
Çünkü bir adresin, bir iletiye kopyalanmaya, kâğıda basılmaya ve elle yeniden yazılmaya dayanması gerekir. Aksanlı harfler modern bir adreste geçerlidir, ama kopyalanınca yüzde işaretleriyle kodlanır ve okunur bir adres bir simge dizisine döner. Onları yalın harflere, rakamlara ve kısa çizgilere indirmek, adresi okunur, paylaşılır ve göründüğü her yerde aynı tutar.
Sonuç kesin mi?
İki birim birbirinden tam sayılarla tanımlanıyorsa evet — sayfa bunu rakamın üstünde söyler ve tek yuvarlama kaç basamak gösterildiğindedir. Oranın sonlu bir ondalığı yoksa sayfa on iki anlamlı basamak gösterir ve ilişkinin yaklaşık olduğunu söyler, başka türlüymüş gibi yapmaz.
Yazdıklarım cihazımdan çıkıyor mu?
Hayır. Hesap tarayıcınızda yapılır; hiçbir şey yüklenmez, zaten yükleyecek bir sunucu da yok. Sayfa bir kez açıldıktan sonra ağ kapalıyken de çalışır.
Metni neden snake_case'e dönüştürürsünüz
Bir programcı bir değişkene annual report total adını veremez, çünkü bir ad boşluk içeremez. Bir veritabanı sütunu Customer First Name diye adlandırılamaz. Final Draft (2).docx adlı bir dosya, er ya da geç bir betiği rahatsız eder. Bir yerde insan ifadesinin tek bir sözcüğe dönüşmesi gerekir ve birçok topluluğun üzerinde karar kıldığı biçim snake_case'dir: bütün harfler küçük, sözcükler alt çizgilerle birleştirilmiş: annual_report_total, customer_first_name, final_draft_2. Metni snake_case'e dönüştürmek, herhangi bir ifadeyi, herhangi bir durumda alıp tek adımda o biçime çevirmektir.
Bir satır yapıştırın ve snake_case olarak geri okuyun. Dönüşüm tarayıcınızda gerçekleşir, yazdığınız hiçbir şey hiçbir yere gönderilmez ve kurallar İngilizceyi değil, bu sayfanın dilini izler. Satırı sözcüklere keser, onları küçük harfe çevirir ve alt çizgilerle birleştirir. Zaten camelCase yazılmış bir satır büyük harflerinden de kesilir; böylece fooBar foo_bar olur. Aşağıda bunun tam olarak ne anlama geldiğini, nelerin düşürüldüğünü, sayfanın farklı dillerin zor harflerine nasıl davrandığını, snake_case'in nerede gelenek olduğunu ve nerede olmadığını ve metni aceleyle snake_case'e dönüştürenleri yakalayan tuzakları bulacaksınız.
Dönüşümün yaptığı
Kes, küçült, birleştir
Sayfa önce satırı sözcüklere keser. Sonra her birini küçük harfe çevirir ve alt çizgilerle birleştirir. Crème brûlée for 2 — straße 17, fooBar satırı crème_brûlée_for_2_straße_17_foo_bar olarak geri gelir. Aksanlar korunur, sayılar kendi başlarına birer sözcük olarak kalır, tire ve virgül gitmiştir ve fooBar ikiye kesilmiştir, çünkü içindeki büyük harf bir sınırı işaretler.
Kesimlerin düştüğü yerler
Bir sözcük sınırı bir boşluk, bir noktalama işareti, bir tire, bir simge ya da bir sözcüğün içinde küçük harften büyük harfe bir değişikliktir. Yani customerFirstName ifadesi, Customer First Name ifadesi ve customer-first-name ifadesi hepsi customer_first_name olur. Dönüşümün pratik gücü budur: hemen hemen her başlangıç noktasını kabul eder ve her zaman aynı yere varır.
Sonucu kopyalamak
Sonucun yanındaki bir düğme onu panoya kopyalar. Adın gerektiği düzenleyiciye, şemaya ya da dosya iletişim kutusuna yapıştırın.
Dönüşümün yapmadığı
Noktalamayı korumaz
Virgüller, noktalar ve tireler sözcükler arasındaki sınırlardır, taşınacak karakterler değil. Bir dosya adı ya da bir veritabanı sütunu için istediğiniz budur ve düzyazı için istediğiniz değildir. Bir cümleyi sayfadan geçirirseniz bir cümle olarak değil, bir ad olarak geri gelir ve özgün noktalama gitmiştir.
Aksanları kaldırmaz
Satır aksanlı harflerini korur: crème_brûlée. Birçok sistem onları kabul eder, ama bazıları etmez ve onları içeren bir ad eski araçlarda sorun çıkarabilir. Düz harflere ihtiyacınız varsa Latin harflerinden işaretleri kaldıran URL slug sayfasını kullanın.
Adın sizin dilinizde geçerli olup olmadığını kontrol etmez
Programlama dillerinin kendi kuralları vardır. Bazıları bir rakamla başlayan bir ada izin vermez, bazıları class ya da return gibi sözcükleri ayırır. Sayfa metni doğru biçimde bir ada çevirir ve adın kullandığınız yerde yasal olduğundan hâlâ sizin emin olmanız gerekir. 2 for 1 offer gibi bir ifade 2_for_1_offer olur; çoğu dil bunu başta reddeder.
Dil önemlidir
Boşluksuz yazılan yazılar
Sözcüklere kesmek sınırlar gerektirir. Çince ve Japonca boşluksuz yazılır; bu yüzden bu yazılardaki bir satır tek bir sözcük olarak geri gelir. Sayfa, tahmin ettiği bir yerden kesmektense bunu söylemeyi tercih eder, çünkü yanlış bir kesim makul görünen ve yanlış şey anlamına gelen bir ad üretirdi.
Türkçe ve noktalı i
Küçük harfe çevirme sayfanın dilinin kurallarını izler. Türkçede I'nın küçük biçimi noktasız ı'dır ve İ'nin küçük biçimi i'dir. İngilizce kurallar uygulayan bir dönüştürücü sözcükleri değiştirir. Bu sayfa yazıldığı dili izler.
Almanca ve keskin s
Almanca ß zaten küçük bir harftir ve straße_17'de olduğu gibi korunur. Büyük harfli STRASSE strasse olarak geri gelir, çünkü büyük harf biçimi ß'den mi yoksa iki harften mi geldiğini hatırlamaz.
Sağdan sola ve Hint yazıları
Arapça, İbranice ve Hint yazılarında sözcükler arasında boşluk vardır ve büyük-küçük harf yoktur; bu yüzden sayfa sözcüklerini alt çizgilerle birleştirir ve harfleri olduğu gibi bırakır. Belirli bir aracın bu tür adları kabul edip etmediği başka bir sorudur.
snake_case'in gelenek olduğu yerler
Python ve Ruby
Python stil rehberi işlevler, değişkenler ve modüller için snake_case önerir ve Ruby aynı alışkanlığı izler. İkisinden birinde kod yazıyorsanız adlarınız neredeyse her zaman bu biçimdedir.
Veritabanları
SQL'deki tablo ve sütun adları yaygın olarak snake_case'dir: customer_id, created_at, order_total. Adları tırnak içine alma gereğini önler ve bazıları tırnaksız adları tek bir harf biçimine katlayan, camelCase'i okunamaz bir harf dizisine çevirecek veritabanı sistemleri arasında güvenlidir.
Veri dosyaları ve API'ler
Birçok web servisi JSON'larında snake_case anahtarlar kullanır ve daha ileri işleme için dışa aktarılan elektronik tabloların başlıkları çoğu zaman snake_case taşır. Verileriniz CSV'den JSON'a dönüştürücüsünden geçiyorsa başlık satırı anahtarlar olur ve derli toplu snake_case başlıklar sonucu kullanmayı kolaylaştırır.
Sabitler ve ortam değişkenleri
Sabitler ve ortam değişkenleri geleneksel olarak alt çizgili büyük harflerle yazılır: MAX_RETRIES, DATABASE_URL. Onları elde etmenin yolu önce metni snake_case'e dönüştürmek ve sonra sonucu metni büyük harfe dönüştürün ile yükseltmektir.
Dosya adları
Alt çizgili küçük harf her sistemde güvenli bir dosya adıdır ve öngörülebilir biçimde sıralanır ve aranır. Birçok fotoğrafçı, araştırmacı ve yönetici onu tam da bu nedenle kullanır.
Gelenek olmadığı yerler
JavaScript ve Java
Bu diller değişkenler ve işlevler için camelCase'i, sınıflar için PascalCase'i tercih eder. Bir Python betiğinden bir ad, bir JavaScript dosyasında görünmeden önce dönüştürülmeyi gerektirebilir. Bunun için camelCase sayfasına bakın.
CSS ve web adresleri
CSS sınıf adları ve web adresleri genellikle alt çizgi değil, tire kullanır. Bunun aracı kebab-case'dir. Arama motorları bir tireyi sözcük ayırıcı, bir alt çizgiyi birleştirici olarak ele alır; bu, tireli adres alışkanlığının ardındaki küçük bir farktır.
Düzyazı ve başlıklar
snake_case adlar içindir, okumak için değil. İçindeki bir başlık ya da cümle göze zor gelir. İnsan metni için sözcükleri ve boşlukları koruyun ve bir başlık için Title Case sayfasını düşünün.
Metni buradan snake_case'e nasıl dönüştürürsünüz
Metninizi yapıştırın ya da yazın
İfadeyi ilk alana girin. Sonuç ikincisinde hemen görünür; böylece siz yazdıkça değiştiğini izleyebilirsiniz.
Kesimleri kontrol edin
Sözcüklerin nerede bölündüğüne bakın. iPhone ya da eBay gibi bir sözcük büyük harfte kesilir ve HTTPServer gibi bir kısaltmanın amaçladığınız gibi çıktığını görmek için bir göz atmak gerekir.
Kopyalayın
Kopyala düğmesine basın ve sonucu ihtiyacınız olan yere yapıştırın. Aynı satırın diğer biçimleri için aşağıya bakın.
snake_case'i bütün bir projede kullanmak
Bütün yığın için tek bir gelenek
Adlandırma stillerini karıştıran bir proje, biraz çirkin ama tutarlı olandan okunması daha zordur. Veritabanı snake_case kullanıyorsa onunla konuşan kod da çoğu zaman kullanır ve aralarında hareket eden dosyalar izler. Yeni bir sütun ya da yeni bir alan için metni snake_case'e dönüştürdüğünüzde, diğer her katmanın yaşamak zorunda kalacağı adı seçiyorsunuz; bu yüzden onu bir kez seçin ve baştan sona taşıyın.
Adları gelenekler arasında taşımak
Er ya da geç bir gelenekten bir adın bir diğerinde görünmesi gerekir. Bir veritabanı sütunu customer_first_name, bir JavaScript nesnesinde customerFirstName ve bir CSS sınıfında ya da bir URL'de customer-first-name olur. Her birini elle yeniden yazmak yerine özgün adı ihtiyaç duyduğunuz biçimi üreten sayfaya yapıştırın: C ve JavaScript ailelerindeki kod için camelCase ve stiller ve adresler için kebab-case. Aynı adın üç biçimi birbirinin tam çevirileridir ve bir dönüştürücü onları tutarlı biçimde yapar.
Yapılandırma dosyaları
Ayar dosyaları çoğu zaman snake_case anahtarlar kullanır; özellikle birçok aracın kullandığı YAML'de. Böyle bir dosyayı JSON olarak tutulan verilerden hazırladığınızda JSON'dan YAML'a anahtarları yazdığınız gibi korur ve YAML'dan JSON'a tersini yapar. Başlamadan önce anahtarlar için snake_case üzerinde karar kılın; biçimler arasındaki dönüşüm onları bozmayacaktır.
Toplu yeniden adlandırma
Başlıkları stillerin bir karışımı olan bir veri dosyasını devralırsanız her başlığı bu sayfayla dönüştürün ve bir geçişte değiştirin. Önce küçük bir örnekle test edin, çünkü dosyayı başlığa göre okuyan bir betik bir ad yalnızca bazı yerlerde değişirse bozulur. Bir meslektaşın neyin değiştiğini görebilmesi için dosyanın yanında eski ve yeni adların bir listesini tutun.
Kalıcı adlar yazmak
Şeyin nasıl saklandığını değil, ne olduğunu söyleyin
İyi bir ad içeriği tarif eder. order_total sayının ne anlama geldiğini söyler; col7 söylemez. Metni snake_case'e dönüştürdüğünüzde başladığınız ifadenin yazabileceğiniz en net ifade olduğundan emin olun, çünkü dönüştürücü onun netliğini ya da karmaşasını sadakatle koruyacaktır.
Yalnızca sizin anladığınız kısaltmalardan kaçının
cust_fn_dt gibi bir ad başkası için ve altı ay sonra sizin için bir bilmecedir. Alt çizgiler ucuzdur ve fazladan sözcükler de. Bir cümle gibi okunan daha uzun bir ad, bir açıklama gerektiren kısa bir addan sonraki kişiye daha iyi bir hediyedir.
Tekil ve çoğulu tutarlı tutun
Tabloların tekil, customer, ya da çoğul, customers, adlandırılıp adlandırılmayacağına karar verin ve ona bağlı kalın. Gelenek, tekdüzeliğinden daha az önemlidir. snake_case'e çevrilmiş bir ifade verdiğiniz sayıyı korur.
Yardımcı olduğunda ön ek koyun
Büyük bir şemada kısa bir ön ek ilgili adları gruplar: billing_address, billing_city, billing_country. İfadeyi ön ekle yazıp dönüştürmek tutarlı sonuçlar verir ve alfabetik bir liste o zaman kendini gruplar.
Adlara bağlanmadan önce onları test edin
Bir ad bir şemaya ya da bir API'ye girmeden önce görüneceği yerlerde deneyin: bir sorgu, bir değişken, bir dosya listesi. Üçünde de doğal okunuyorsa işe yarar. Garip geliyorsa ifadeyi kısaltın ya da yeniden kelimelendirin ve metni yeniden snake_case'e dönüştürün. Başlangıçta bir dakikalık test, sonradan yüzlerce dosya boyunca bir yeniden adlandırmayı önler.
Aynı satır yedi yazımın hepsinde
Biçimlerin bir tablosu
Dönüştürücünün altında bir tablo, örnek satırı sitenin sunduğu yedi biçimin hepsinde gösterir: büyük harf, küçük harf, Title Case, snake_case, kebab-case, camelCase ve bir URL slug. Aynı sözcüklerin her birinde nasıl göründüğünü görmenin hızlı bir yoludur.
Bu biçimlerin geldiği yer
İki alfabe
Büyük ve küçük harfler bir zamanlar iki farklı alfabeydi. Büyük harfler Romalıdır; taşa keskiyle kesilmiştir; küçük harfler, bir kalemin parşömen üzerinde hızla hareket etmesiyle biçimlenen Karolenj minuskülünden gelir. Matbaacılar ikisini ayrı çekmecelerde, üst kasada ve alt kasada tuttu ve çekmeceler gittikten çok sonra adlar kaldı.
Boşluksuz adlar
Programlama biçimleri çok daha gençtir ve tek bir sorunu çözmek için icat edildi: bir ad boşluk içeremez. snake_case erken C'den, camelCase Smalltalk'tan, kebab-case Lisp'ten ve URL slug, boşlukların ve aksanların izin verilmediği bir adrese insan başlığı koyma ihtiyacından çıktı. Alt çizgi, dönemin klavyelerinde kullanışlı bir karakterdi ve çizgi üzerinde duran bir boşluğa benzer.
Metni snake_case'e dönüştürürken tuzaklar
Bir adı rakamla başlatmak
Çoğu dil ve veritabanı bir sayıyla başlayan bir adı reddeder. İfade bir sayıyla başlıyorsa önüne bir harf ya da bir sözcük ekleyin.
Ayrılmış sözcüklerin ele alınmasını beklemek
class ya da order gibi bir ifade dilinizde ya da SQL'de ayrılmış bir sözcük olabilir. Sayfa bilmez ve sizin kontrol etmeniz gerekir.
Kısaltmalar
parseHTMLString gibi bir camelCase adın içindeki bir kısaltma, kurala bağlı olarak parse_h_t_m_l_string ya da parse_html_string olarak kesilebilir. Sonucun istediğiniz şey olduğunu kontrol edin.
Çok uzun adlar
Veritabanları ve dosya sistemleri uzunluk sınırları getirir. Bir ada çevrilmiş uzun bir ifade birine çarpabilir. Dönüştürmeden önce ifadeyi kısaltın.
Dönüştürmeden önce insanların sorduğu sorular
Noktalamaya ne olur?
Sözcükler arasında bir sınır olarak ele alınır ve taşınmaz.
Sayılar korunur mu?
Evet, kendi başlarına birer sözcük olarak, alt çizgilerle ayrılarak.
camelCase girdiyi işler mi?
Evet. Bir sözcüğün içindeki büyük harf bir kesimi işaretler; bu yüzden fooBar foo_bar olur.
Başka diller için kullanabilir miyim?
Evet, sayfanın dilinin kurallarıyla. Çince ve Japonca gibi boşluksuz yazılar tek bir sözcük olarak geri gelir.
Metnim yükleniyor mu?
Hayır. Buraya yazdığınız hiçbir şey hiçbir yere gönderilmez; bu yüzden bir taslak, bir parola ya da bir müşterinin adı burada bir metin düzenleyicideki kadar güvendedir.
Bunun yerine tireleri nasıl elde ederim?
metni kebab-case'e dönüştürün ile.
Çalışılmış bir örnek
Bir kütüphane için küçük bir veritabanı oluşturduğunuzu ve personelin size elektronik tablolarından sütun başlıklarını gönderdiğini varsayın: Book Title, Author's Last Name, Year Published (YYYY), ISBN-13. Her birini sırayla dönüştürür ve book_title, author_s_last_name, year_published_yyyy ve isbn_13 okursunuz. Kesme işareti yazar sütununu derli toplu olmayan bir şeye çevirdi; bu yüzden özgün adı Author Last Name olarak kısaltır ve yeniden dönüştürürsünüz: author_last_name. Yıl sütunu biçim notu olmadan daha nettir; bu yüzden year_published'i tutarsınız. Bir dakikada yazılmış dört derli toplu sütun adı ve her biri veritabanının kabul edeceği bir ad.
Kısa bir kontrol listesi
Dönüştürmeden önce
İfadeyi parantez içi notlar olmadan sade sözcüklerle yazın. Hedefin alt çizgileri ve aksanları kabul ettiğini kontrol edin.
Dönüştürürken
İfadeyi yapıştırın, kesimlere bakın ve adın bir harfle başladığından emin olun.
Dönüştürdükten sonra
Uzunluğu kontrol edin, ayrılmış sözcüklere karşı kontrol edin ve adın anlamına kadar izlenebilmesi için özgün ifadenin bir kaydını tutun.
Sık yapılan hatalar
İnsanların okuyacağı metin için snake_case kullanmak
Adlar içindir, düzyazı için değil.
Hedefin neye izin verdiğini unutmak
Baştaki rakamlar, aksanlar ve uzunluk sınırları sistemler arasında farklıdır.
Kısaltmaları bakmadan dönüştürmek
Çevrelerindeki kesimleri kontrol edin.
Metniniz cihazınızda kalır
Dönüşüm yerel olarak yapılır. Metniniz kendi tarayıcınız tarafından ele alınır ve hiçbir yere hiçbir şey gönderilmez. Sonradan silinecek bir şey yoktur ve oluşturulacak bir hesap da yoktur. Metni snake_case'e dönüştürmenin sade yolu budur.
Özet
Metni buradan snake_case'e dönüştürmek için bir satır yapıştırın ve onu sözcükleri kesilmiş, küçük harfe çevrilmiş ve alt çizgilerle birleştirilmiş olarak geri okuyun. Zaten camelCase yazılmış bir satır orada da kesilir; böylece fooBar foo_bar olur. Sayfa noktalamayı korumaz: virgüller, noktalar ve tireler sözcükler arasındaki sınırlardır, taşınacak karakterler değil; bu, bir dosya adı ya da bir veritabanı sütunu için istediğiniz şeydir ve düzyazı için değil. Sözcüklere kesmek sınırlar gerektirir; bu yüzden boşluksuz yazılan Çince ve Japonca tek bir sözcük olarak geri gelir. Küçük harfe çevirme sayfanın dilini izler. Hiçbir şey yüklenmez.