İçeriğe geç
LeedyBox
Destek ol

Adlandırma Stilleri ve Kuralları Açıklaması

Koddaki, dosyalardaki, URL'lerdeki ve başlıklardaki adlar dile ve biçime göre farklı kurallara uyar. Bu rehber yaygın adlandırma stillerini, her birinin nerede beklendiğini ve sık takılınan ayrıntıları özetler: kısaltmalar, sayılar, başlıklar ve İngilizce dışındaki harfler.

Yaygın Stiller

StilÖrnekNasıl oluşturulur?
camelCaseorderTotalİlk kelime küçük harf, sonrakiler büyük harfle başlar, ayırıcı yok
PascalCaseOrderTotalHer kelime büyük harfle başlar, ayırıcı yok
snake_caseorder_totalKüçük harf, kelimeler _ ile birleşir
CONSTANT_CASEORDER_TOTALBüyük harf, kelimeler _ ile birleşir
kebab-caseorder-totalKüçük harf, kelimeler - ile birleşir
dot.caseorder.totalKüçük harf, kelimeler . ile birleşir
Title CaseOrder TotalKelimeler boşlukla ayrılır, her biri büyük harfle başlar
Sentence caseOrder totalYalnızca ilk kelime büyük harfle başlar

camelCase bazen lower camel case, PascalCase ise upper camel case olarak adlandırılır. CONSTANT_CASE, screaming snake case olarak da bilinir.

Her Dilin ve Biçimin Beklediği Stil

Ekosistemlerin çoğu uzun zaman önce kurallarda uzlaşmıştır ve bunlara uymak, kodu o ekosistemi bilen herkes için daha okunur kılar:

NeredeOlağan kural
JavaScript, TypeScript, JavaDeğişkenler ve fonksiyonlar için camelCase, sınıflar için PascalCase, sabit değerler için CONSTANT_CASE
Python (PEP 8)Fonksiyonlar ve değişkenler için snake_case, sınıflar için PascalCase, sabitler için CONSTANT_CASE
C#Türler, metotlar ve genel üyeler için PascalCase; yerel değişkenler ve parametreler için camelCase
GoPascalCase bir adı paketinin dışına aktarır, camelCase onu özel tutar
Ruby, RustMetotlar ve değişkenler için snake_case, türler için PascalCase
CSS ve HTMLÖzellikler, sınıf adları ve data- öznitelikleri için kebab-case
URL'lerkebab-case; Google kelimeler arasında alt çizgi değil kısa çizgi önerir
SQL tabloları ve sütunlarısnake_case, çünkü birçok veritabanı tırnak içine alınmamış adları tek bir harf büyüklüğüne çevirir
Ortam değişkenleriCONSTANT_CASE, örneğin DATABASE_URL
Yapılandırma anahtarlarıİç içe ayarlar için dot.case, örneğin server.port
JSON API'leriTek bir kural yok: birçoğu camelCase, bazıları snake_case kullanır; kullandığınız API'ye uyun

Programlama dillerinin çoğunda kebab-case değişken adı olarak kullanılamaz, çünkü kısa çizgi eksi işareti olarak okunur: order-total, order eksi total anlamına gelir.

Kısaltmalar ve Sayılar

Kuralların en çok ayrıştığı yer kısaltmalardır. Bir yaklaşım onları büyük harfle bırakır (userID, parseHTML); diğeri sıradan kelimeler gibi ele alır (userId, parseHtml). Google'ın Java ve JavaScript stil rehberleri ikinci yaklaşımı izler; bu, kısaltmalar yan yana geldiğinde kelime sınırlarını net tutar: XmlHttpRequest, XMLHTTPRequest'ten daha kolay ayrıştırılır. Microsoft'un .NET yönergeleri iki harfli kısaltmaları büyük harfle yazar (IOStream), daha uzun olanlarda yalnızca ilk harfi büyütür (HtmlButton). Tarayıcı API'si XMLHttpRequest iki yaklaşımı karıştırır; bu yüzden sıkça kaçınılması gereken örnek olarak gösterilir.

Sayıların büyük veya küçük harfi yoktur; bu yüzden bir dönüştürücü utf8Decoder ifadesinin “utf8 decoder” mı yoksa “utf 8 decoder” mı olduğunu bilemez. Dönüştürücüler genellikle sayıyı önceki kelimeye ekler. Bir yazılış seçin ve her yerde onu kullanın.

Başlıklarda Title Case ve Sentence case

İngilizce başlıklarda stil rehberleri her kelimeyi aynı şekilde büyük harfle yazmaz. AP ve Chicago stilleri, başta veya sonda olmadıkça tanımlıkları, bağlaçları ve kısa edatları küçük harfle bırakır (“The Lord of the Rings”) ve kesin listede birbirinden ayrılır. Microsoft ve Google'ın geliştirici belgeleri rehberleri dahil birçok arayüz ve belge rehberi, tutarlı uygulanması daha kolay ve daha az resmî olan Sentence case kullanır (“Change your password”). Türkçe başlıklarda da her kelimenin büyük harfle başladığı yazım yaygındır; bu rehberlerin başlıkları da öyle yazılmıştır.

LeedyBox dönüştürücüsündeki Title Case her kelimeyi büyük harfle başlatır. Bu, etiketler ve değişkene benzeyen adlar için uygundur, gazete tarzı başlıklar için değil: kısa kelimeleri sonradan elle küçük harfe çevirin.

Stiller Arası Dönüştürme Bilgi Kaybettirir

Her dönüştürme önce adı, büyük harfleri ve ayırıcıları ipucu olarak kullanarak kelimelere ayırır, sonra kelimeleri yeni stilde birleştirir. Hedef stilin ifade edemediği şey kaybolur: parseHTML, parse_html olur ve geri dönüştürüldüğünde parseHtml olur. Noktalama işaretleri de atılır; bu yüzden “don't” iki kelimeye dönüşür.

Bu yüzden bir stili esas alın. Veritabanı snake_case, kod camelCase kullanıyorsa adları iki biçimde saklamak yerine her seferinde aynı yönde, sınırda dönüştürün.

API Sınırında Anahtarları Yeniden Adlandırma

camelCase kullanan bir ön yüz snake_case kullanan bir arka uçla konuştuğunda, serileştirme kütüphanelerinin çoğu adları otomatik eşleyebilir; böylece veri hiçbir zaman elle yeniden adlandırılmaz. Test verisi veya örnek bir yanıt gibi bir JSON belgesini bir kez dönüştürmek farklı bir iştir ve dönüştürücünün “JSON anahtarlarına” seçeneği bunu değerlere dokunmadan yapar.

Çakışmalara dikkat edin: user_name ve userName her stilde aynı anahtara dönüşür ve biri diğerinin üzerine yazar. _id veya $ref gibi baştaki simgelerin çoğu zaman bir veritabanı veya şema için anlamı vardır; yeniden adlandırılabilip adlandırılamayacaklarını kontrol edin.

İngilizce Dışında Büyük ve Küçük Harf

Büyük-küçük harf kuralları her dilde aynı değildir. Almancadaki ß büyük harfte SS olur, kelime uzar. Türkçede noktalı i ve noktasız ı vardır: büyük harf karşılıkları i → İ ve ı → I'dır; oysa programlama dillerinin çoğundaki varsayılan kurallar i'yi I'ya çevirir. JavaScript'teki toUpperCase() varsayılan kuralları kullanır; toLocaleUpperCase('tr') Türkçe kuralları uygular. Bu yüzden Türkçe metinde “istanbul” varsayılan kurallarla “ISTANBUL” olur, “İSTANBUL” değil. Korece, Çince ve Japoncada büyük-küçük harf hiç yoktur; yalnızca kelimeler arasındaki ayırıcılar değişir.

Büyük-küçük harf dosya adlarında da önemli olabilir. Windows ve varsayılan ayarlarıyla macOS, Readme.md ile README.md dosyalarını aynı dosya sayar; Linux ise iki ayrı dosya olarak görür. Yalnızca harf büyüklüğünü değiştiren bir yeniden adlandırma bir sistemde fark edilmeyebilir ve diğerinde bağlantıları veya import'ları bozabilir.

Sık Sorulan Sorular

camelCase mi yoksa snake_case mi daha iyi?

Genel olarak hiçbiri daha iyi değildir. Kullandığınız dilin, çatının veya API'nin kuralına uyun; bir kod tabanı içindeki tutarlılık seçimden daha önemlidir.

URL'lerde kısa çizgi mi yoksa alt çizgi mi kullanmalı?

Kısa çizgi. Google'ın URL yönergeleri kelimeler arasında kısa çizgi önerir ve /case-converter/ gibi kebab-case kısa adlar web'de yaygın uygulamadır.

Git, bir dosya adında yalnızca harf büyüklüğünü değiştirdiğimi neden fark etmiyor?

Büyük-küçük harf ayrımı yapmayan bir dosya sisteminde Git eski ve yeni adı çoğu zaman aynı dosya sayar. Değişikliğin harf ayrımı yapan sistemler için kaydedilmesi amacıyla yeniden adlandırmayı git mv ile, örneğin geçici bir ad üzerinden yapın.

iPhone veya eBay gibi marka adlarını camelCase'de nasıl yazarım?

Dönüştürücü kelimeleri büyük harflerden böler; bu yüzden bu tür adlar ayrı kelimelere dönüşür. Kodda markayı tek kelime olarak ele almak (iphoneModel) ve resmî yazılışı yalnızca insanların okuduğu metinde kullanmak genellikle daha nettir.