camelCase, Snake_case, kebab-case: geliştiricinin adlandırma kılavuzu
Değişkenleri, işlevleri, sınıfları veya URL'leri adlandırırken seçtiğiniz biçim önemlidir. Farklı diller ve bağlamların farklı kuralları vardır: JavaScript camelCase'i kullanır, Python serpantin_case'i tercih eder, CSS özellikleri kebab-case'i kullanır ve yapılandırma sabitleri CONSTANT_CASE'i kullanır. Her birini anlamak ve aralarında nasıl dönüşüm yapılacağını bilmek, kodunuzu tutarlı ve okunabilir tutan pratik bir beceridir.
camelCase: JavaScript standardı
camelCase küçük harfle başlar ve sonraki her kelimenin ilk harfini ayırıcı olmadan büyük harfle yazar. JavaScript'teki değişkenler ve işlev adları şu modeli izler: getUserById, calculateTotalPrice, handleSubmitClick. Çoğu JSON anahtarı da kural gereği camelCase'dir.
İsim, büyük harflerin yarattığı "tümseklerden" geliyor. Kompakt, okunabilir ve JavaScript, TypeScript, Java ve C#'ta fiili standarttır. Metni camelCase'e dönüştürmeniz gerektiğinde (ister bir kod oluşturucu oluşturuyor olun ister değişken adlarını standartlaştırıyor olun), vaka dönüştürücü tek macunla halleder.
yılan_case: Python ve veritabanları
Snake_case kelimeleri alt çizgiyle birleştirir ve tüm harfleri küçük tutar: get_user_by_id, calculate_total_price, handle_submit_click. Python geliştiricileri bunu PEP 8 stil yönergelerine uygun olarak değişken ve işlev adları için kullanır. SQL sütun ve tablo adları da çoğu sistemdeki ortam değişkenleri gibi genellikle Snake_case'i kullanır.
Snake_case tamamı büyük harf biçiminde bile okunabilir (DATABASE_PASSWORD, MAX_RETRY_COUNT), bu nedenle CONSTANT_CASE (büyük yılan_durumu) her dilde yapılandırma sabitleri ve son değişkenler için evrensel bir kuraldır.
kebap durumu: URL'ler ve CSS
kebab-case kelimeleri kısa çizgilerle birleştirir ve tamamı küçük harf kullanır: get-user-by-id, calculate-total-price. Bunu URL'lerin her yerinde (slugs makalesi, ürün sayfaları, rota adları) görürsünüz, çünkü kısa çizgiler arama motorları için uygundur ve alt çizgilerden ziyade ayrıştırıcılar tarafından yanlış yorumlanma olasılığı daha düşüktür. CSS sınıfı adları ve özel HTML nitelikleri de kural gereği kebab-case'i kullanır.
Düz metinden URL güvenli tanımlayıcılar veya slug benzeri adlar oluşturmak en pratik kullanımlardan biridir. slug jeneratör cümleleri URL'ye hazır kebap şeklinde dizelere dönüştürür, yol boyunca noktalama işaretlerini ve aksanları çıkarır.
PascalCase: sınıflar ve türler
PascalCase (veya UpperCamelCase) ilk harfi büyük yazar: GetUserById, CalculateTotalPrice. TypeScript, C#, Java ve React'taki sınıf adları, tür tanımları ve bileşenler için kullanılan bir kuraldır. Nesne yönelimli diller veya bileşen çerçeveleri ile çalışırken ulaşacağınız şey budur.
Formatlar arasında dönüştürme
Bir kuraldan diğerine geçiş iki adım gerektirir: birincisi bölmek tanımlayıcıyı ayrı kelimelere bölün, ardından yeniden katılmak hedef ayırıcı ve mahfaza ile bunları. Araçların süreci kolaylaştırdığı yer burasıdır.
Bir camelCase tanımlayıcınız varsa ve onun parçalarını anlamanız gerekiyorsa (örneğin onu yeniden adlandırmak veya bir yılan_case sürümüyle eşleştirmek için) bölünmüş deve vakası araç onu parçalara ayırır: getUserById olur get User By Id. Kelimeler ayrıldıktan sonra vaka dönüştürücü bunları ihtiyacınız olan herhangi bir kongrede yeniden biçimlendirebilirsiniz. Geliştiriciler bu araçları aynı zamanda dil sınırlarının ötesinde kodu yeniden düzenlerken veya API özellikleri ile dahili değişken adları arasında çeviri yaparken de kullanır.
Her bir sözleşme ne zaman kullanılmalı?
Doğru seçim tercihe değil bağlama bağlıdır. JavaScript ve JSON, camelCase'i kullanır. Python, SQL ve ortam değişkenleri Snake_case'i kullanır. URL'ler ve CSS kebab-case'i kullanır. Tür ve sınıf adları PascalCase'i kullanır. Yapılandırma sabitleri tüm dillerde CONSTANT_CASE kullanır. Bu kurallara uymak, kodunuzun o ekosisteme aşina olan herkes tarafından anında tanınabilir olmasını sağlar.
Tutarlılık belirli bir kuraldan daha önemlidir; aynı dosya veya projede formatları karıştırırsanız okuyucuların bağlam değiştirmesi gerekir ve hatalar daha kolay hale gelir. Tanımlayıcıları dönüştürme ve bölme araçları, birden fazla dilde çalışırken veya projeler arasında kod taşırken tutarlı kalmanıza yardımcı olur.