camelCase mi, snake_case mi, kebab-case mi: Hangisi?
JavaScript için camelCase, Python ve veritabanları için snake_case, CSS ve URL'ler için kebab-case. Her adlandırma stilinin yeri ve ücretsiz dönüştürme.
Yayımlanma: · 4 dk okuma
camelCase, snake_case ve kebab-case arasındaki seçim çoğunlukla adın nerede yaşadığına bağlıdır. JavaScript ve Java camelCase kullanır (firstName), Python, Ruby ve SQL snake_case kullanır (first_name), CSS, HTML öznitelikleri ve URL'ler ise kebab-case kullanır (first-name). Dilin geleneğini ve ekibinin stil rehberini takip et. Metni stiller arasında çevirmek için ücretsiz büyük-küçük harf dönüştürücü ve ücretsiz URL slug oluşturucu tarayıcında çoğu işi görür.
Bir bakışta camelCase, snake_case ve kebab-case
| Stil | Örnek | Nerede görürsün |
|---|---|---|
| camelCase | userFirstName |
JavaScript ve TypeScript değişkenleri ile fonksiyonları, Java metotları, birçok web API'sinin JSON çıktısı |
| PascalCase | UserFirstName |
Çoğu dilde sınıf adları, React bileşenleri, C# metotları |
| snake_case | user_first_name |
Python değişkenleri ve fonksiyonları, Ruby, SQL sütun adları, birçok JSON API'si |
| SCREAMING_SNAKE_CASE | USER_FIRST_NAME |
Birçok dilde sabitler, ortam değişkenleri |
| kebab-case | user-first-name |
CSS özellikleri ve sınıf adları, HTML öznitelikleri, URL'ler, dosya adları, CLI bayrakları |
Adların kökeni şekillerinden gelir: camelCase büyük harflerin oluşturduğu tümseklere sahiptir, snake_case alt çizgilerle düz uzanır, kebab-case kelimeleri tirelerle dizilmiş gibidir.

Dil dil
JavaScript ve TypeScript. Değişkenler ve fonksiyonlar camelCase'tir (getUserName), sınıflar ve React bileşenleri PascalCase'tir (UserCard), sabitler çoğu zaman SCREAMING_SNAKE_CASE'tir (MAX_RETRIES). Dilin kendi yerleşik fonksiyonları da bu düzeni izler, örneğin getElementById ve toLowerCase.
Python. Python'un stil rehberi PEP 8, fonksiyonlar, değişkenler ve modül adları için snake_case; sınıflar için CapWords (PascalCase); sabitler için alt çizgili büyük harf kullanır. Python'da getUserName yazmak çalışır, ama bunu okuyan her Python geliştiricisi kodu yabancı bulur.
CSS ve HTML. CSS özellikleri kebab-case'tir (background-color, font-size) ve çoğu sınıf adlandırma sistemi bunu izler (.nav-item, .card-title). HTML data- öznitelikleri de kebab-case'tir ve tarayıcılar bunları JavaScript için dönüştürür: data-user-id, element.dataset.userId olur. Bu tek satır, iki geleneğin neden var olduğunu özetler.
SQL ve veritabanları. Sütun ve tablo adları genellikle snake_case'tir (created_at, order_items). Birçok veritabanı tırnaksız adları tek bir harf durumuna çevirir; bu yüzden createdAt her seferinde tırnak içine alınmazsa sessizce createdat olabilir. snake_case bunu önler.
URL'ler ve dosya adları. kebab-case kullan. Google'ın URL yapısı rehberi, kelimeleri ayırmak için alt çizgi yerine tire önerir, çünkü tireler kelime sınırlarını açıkça gösterir. Küçük harf kullanmak da About.html ile about.html dosyalarını farklı sayan sunucularda kırık bağlantıları önler. Bkz. URL slug nedir ve URL slug en iyi uygulamaları.
JSON ve API'ler. Tek bir kural yoktur. JavaScript ağırlıklı birçok API camelCase kullanır; Python ya da Ruby arka uçlarının birçoğu snake_case döndürür. Her API için birini seç ve aynı yanıtta asla karıştırma.
Hangisi okumak için en kolay?
Üçü de alıştıktan sonra okunabilir. Birkaç pratik fark var:
- snake_case ve kebab-case, kelimeler arasında net bir boşluk bırakır; bu da uzun adlarda ve kısaltmalarda yardımcı olur (
html_parser,htmlParserveHTMLParserkarşılaştırması). - camelCase daha kısadır ve fazladan karakter gerektirmez.
- kebab-case çoğu dilde değişken adı olarak kullanılamaz, çünkü
user-name"user eksi name" gibi okunur. - Çift tıklama çoğu editörde bir snake_case ya da camelCase adının tamamını seçer, ama kebab-case'te genellikle tirede durur.
Asıl kural tutarlılıktır. userName, user_name ve UserName birlikte kullanılan bir dosya, her yerde tek bir stil kullanılan dosyadan daha zor okunur.
Stiller arasında dönüştürme
Veriyi katmanlar arasında taşırken dönüştürmen gerekir: Python API'sindeki created_at alanının JavaScript'te createdAt olması, bir sayfa başlığının URL'ye dönüşmesi ya da bir ayar adının ortam değişkenine dönüşmesi gibi.
kebab-case ya da snake_case'e geçmek: slug oluşturucuyu kullan. Kelimeleri her satıra bir ad olacak şekilde yapıştır; kebab-case için Tire (-), snake_case için Alt çizgi (_) seç. Her şeyi küçük harfe çevirir, aksanlı harfleri düz harflere dönüştürür ve simgeleri atar. Her simgeyi kelime sınırı sayar, yani user_first_name, user-first-name olur ve tersi de olur. Ancak camelCase'i bölmez: userFirstName, userfirstname çıkar. Önce kelimeler arasına boşluk koy.
SCREAMING_SNAKE_CASE'e geçmek. Önce slug oluşturucuda snake_case sürümünü yap, sonra ücretsiz büyük-küçük harf dönüştürücü'ye yapıştırıp BÜYÜK HARF düğmesine tıkla. Tersi yönde, küçük harf düğmesi MAX_RETRIES'ı max_retries yapar.
camelCase ya da PascalCase'e geçmek. Tek tıkla yapan bir düğme yoktur. En hızlı yol: kelimeleri boşluklu yaz, büyük-küçük harf dönüştürücüde Her Kelimenin Baş Harfi düğmesine tıkla (user first name, User First Name olur), sonra PascalCase için boşlukları sil, camelCase için ilk harfi küçük yap.
Kod içinde birçok adı birden değiştirmek. Büyük bir yeniden adlandırma için editörünün bul ve değiştir özelliğini düzenli ifadeyle kullan. Desenini önce ücretsiz düzenli ifade test aracı'nda dene: örneğin _([a-z]) her alt çizgiyi ve ardından gelen harfi bulur; snake_case'i camelCase'e çevirirken büyük harf gerekecek yer burasıdır. Birçok editör yakalanan harfi değiştirmede büyük harfe çevirebilir; sözdizimi için editörünün belgelerine bak.
Dönüştürürken dikkat edilecekler
- Kısaltmalar.
userIdmiuserIDmi,HtmlParsermıHTMLParsermı olacağına karar ver ve tutarlı kal. - Sayılar.
address_line_2sorunsuz dönüşür;addressLine2de uygundur; yeter ki rakamı düşürme. - Herkese açık adlar. Bir JSON alanını ya da URL'yi yeniden adlandırmak, onu kullananları bozar. URL'ler için yönlendirme ekle; API'lerde eski alan adlarını bir süre çalışır tut.
Metnini dönüştür
Büyük harf, küçük harf ve Baş Harfleri Büyük için ücretsiz büyük-küçük harf dönüştürücü'yi, kebab-case ve snake_case için slug oluşturucuyu kullan. İkisi de tarayıcında çalışır ve yapıştırdığın hiçbir şey cihazından çıkmaz.
Sıkça sorulan sorular
- camelCase ile snake_case arasındaki fark nedir?
- camelCase kelimeleri birleştirir ve ilkinden sonraki her kelimenin baş harfini büyütür (
firstName). snake_case kelimeleri küçük harfle tutar ve alt çizgiyle birleştirir (first_name). - JSON'da camelCase mi snake_case mi kullanmalıyım?
- İkisi de olur. Çoğu istemcinin kullandığı dile uy ve API içinde tutarlı ol.
- CSS neden kebab-case kullanır?
- CSS,
font-sizegibi tireli özellik adlarıyla tasarlandı ve sınıf adları genellikle aynı stili izler. Tireler çoğu programlama dilinin değişken adlarında kullanılamaz; bu yüzden JavaScript aynı özellikler için camelCase kullanır. - kebab-case URL'ler için iyi mi?
- Evet. Google, URL'lerde kelimeleri ayırmak için tireyi önerir ve küçük harf büyük-küçük harf sorunlarını önler.
- Büyük-küçük harf dönüştürücü camelCase yapabilir mi?
- Tek tıkla yapamaz. Baş Harfleri Büyük'ü kullan, sonra boşlukları sil ve ilk harfi küçült. kebab-case ve snake_case için URL slug oluşturucuyu kullan.
Metin araçları
Büyük Küçük Harf Dönüştürücü aracını deneyin
Ücretsiz, kayıt gerekmez, tarayıcınızda çalışır. Metni yapıştırın ve tek tıkla BÜYÜK HARF, küçük harf, Cümle düzeni, Başlık Düzeni veya Her Kelime Büyük düzenine çevirin, sonra kopyalayın.
Bunlar da işinize yarar
- URL Slug OluşturucuBir başlığı veya herhangi bir metni "my-first-blog-post" gibi temiz, küçük harfli bir URL slug'ına dönüştürün. Aksanlı harfler çevrilir (café, cafe olur), semboller kaldırılır; kısa kelimeleri çıkarabilir, en fazla uzunluk belirleyebilir veya tüm bir başlık listesi için aynı anda slug oluşturabilirsiniz.
- Regex Test AracıBir düzenli ifadeyi metninizde test edin; her eşleşme siz yazarken vurgulanır, yakalama gruplarının (adlandırılmış olanlar dahil) tablosu ve canlı bir bul-değiştir önizlemesi gösterilir. JavaScript regex kurallarına uyar; çok uzun süren bir desen sayfayı dondurmak yerine durdurulur.