Rehber

Metin Durum Dönüştürme: Kapsamlı Rehber

Metin durum kuralları (camelCase, snake_case, kebab-case, PascalCase), programlamada temel kodlama kurallarıdır. Değişken adlandırmadan URL yapılarına, API tasarımından veritabanı şemalarına kadar her yerde kullanılırlar. Doğru durumu kullanmak, kodunuzu okunabilir, sürdürülebilir ve profesyonel kılar.

Farklı Metin Durumları

Metin durum kuralları, birden fazla kelimeden oluşan tanımlayıcıların (değişken adları, fonksiyon adları, sınıf adları) biçimlendirilme yollarını belirler. Her durum kuralının kendi stil ve kullanım durumları vardır. camelCase (deve durumu): İlk kelime küçük harf, sonraki her kelimenin ilk harfi büyük. Boşluk veya noktalama işareti yok. Örnekler: firstName, getUserData, isValidEmail, currentTimestamp. Kullanım durumu: JavaScript, Java, C# (değişkenler ve fonksiyonlar), JSON anahtar adları (yaygın kural), mobil uygulama geliştirme (Swift, Kotlin). camelCase, JavaScript'te değişkenler için varsayılan standarttır. PascalCase (büyük deve durumu): camelCase gibi, ancak ilk kelime de büyük harfle başlar. Örnekler: FirstName, GetUserData, IsValidEmail, UserAccount. Kullanım durumu: Sınıf adları (Java, C#, JavaScript), React bileşenleri (MyComponent), tip adları (TypeScript), namespace'ler. PascalCase, sınıfları ve kurucu fonksiyonları değişkenlerden ve fonksiyonlardan ayırır. snake_case (yılan durumu): Tüm harfler küçük, kelimeler alt çizgi ile ayrılır. Örnekler: first_name, get_user_data, is_valid_email, user_account. Kullanım durumu: Python (değişkenler, fonksiyonlar, modüller), Ruby, Rust, SQL veritabanı sütun adları, ortam değişkenleri (yaygın), Unix/Linux dosya adları. Python PEP 8 stil rehberi, snake_case'i zorunlu kılar. kebab-case (kebap durumu): snake_case gibi, ancak tireler alt çizgi yerine. Örnekler: first-name, get-user-data, is-valid-email, user-account. Kullanım durumu: URL'ler (example.com/user-profile), CSS sınıf adları (btn-primary), HTML özel öznitelikler (data-user-id), dosya adları (my-component.js), komut satırı bayrakları (--verbose-mode). kebab-case, URL'lerde ve CSS'de en okunabilir olanlardır. SCREAMING_SNAKE_CASE: snake_case'in tüm büyük harf versiyonu. Örnekler: MAX_SIZE, API_KEY, DATABASE_URL, DEFAULT_TIMEOUT. Kullanım durumu: Sabitler (JavaScript, Java, Python), ortam değişkenleri (yaygın kural), yapılandırma anahtarları, global yapılandırma. Büyük harfler, sabitlerin değiştirilemeyeceğini gösterir. UPPERCASE: Boşluk veya ayırıcı olmadan tüm büyük harf. Örnekler: HTML, JSON, XML, API, SQL. Kullanım durumu: Kısaltmalar, protokol adları, dosya uzantıları (.JSON, .XML), HTTP yöntemleri (GET, POST). Tamamen büyük harfli sözcükler görsel olarak dikkat çeker. lowercase: Boşluk veya ayırıcı olmadan tüm küçük harf. Örnekler: html, json, xml, api, sql. Kullanım durumu: Paket adları (npm, pip), alan adları (example.com), bazı dosya uzantıları (.html, .json). Tamamen küçük harfli sözcükler daha az yaygındır. Her durum kuralının bir nedeni vardır. camelCase kompakttır (boşluk veya ayırıcı yok). snake_case daha okunabilirdir (alt çizgiler kelimeleri açıkça ayırır). kebab-case URL güvenlidir (alt çizgiler bazı sistemlerde sorunlar yaratır). PascalCase türleri değişkenlerden ayırır. Tutarlılık önemlidir—projeniz boyunca bir kurala sadık kalın.

Ne Zaman Hangi Durum Kullanılmalı

Her programlama dili ve bağlamın tercih ettiği durum kuralları vardır. Bu kuralları takip etmek, kodunuzun deyimsel ve tanıdık görünmesini sağlar. JavaScript/TypeScript: Değişkenler ve fonksiyonlar için camelCase (firstName, getUserData). Sınıflar ve bileşenler için PascalCase (UserAccount, MyComponent). Sabitler için SCREAMING_SNAKE_CASE (MAX_SIZE, API_KEY). Özel değerler için kebab-case HTML öznitelikleri (data-user-id). Bu, JavaScript topluluğunun yaygın olarak kabul edilen standartlarıdır. Python: Değişkenler, fonksiyonlar ve modüller için snake_case (first_name, get_user_data). Sınıflar için PascalCase (UserAccount, DataProcessor). Sabitler için SCREAMING_SNAKE_CASE (MAX_SIZE, DEFAULT_TIMEOUT). PEP 8 (Python stil rehberi) bu kuralları zorunlu kılar—Python kodu bunlara uymalıdır. Java/C#: Değişkenler ve yöntemler için camelCase (firstName, getUserData). Sınıflar, arayüzler, enum'lar için PascalCase (UserAccount, IDataService, Color). Sabitler için SCREAMING_SNAKE_CASE (MAX_SIZE, DEFAULT_TIMEOUT). Paketler/namespace'ler için lowercase (com.example.myapp). Ruby: Değişkenler ve yöntemler için snake_case (first_name, get_user_data). Sınıflar ve modüller için PascalCase (UserAccount, DataProcessor). Sabitler için SCREAMING_SNAKE_CASE (MAX_SIZE, API_KEY). Ruby topluluk kuralları, Python'a benzer şekilde snake_case'i tercih eder. SQL: Tablo ve sütun adları için snake_case (user_accounts, first_name). Bazı takımlar PascalCase kullanır (UserAccounts, FirstName), ancak snake_case daha yaygındır. Tutarlılık önemlidir—bir sözleşme seçin ve ona bağlı kalın. SQL büyük/küçük harf duyarsızdır, ancak okunabilirlik için küçük harf daha iyidir. URL'ler ve dosya adları: kebab-case (example.com/user-profile, my-component.js). URL'ler büyük/küçük harfe duyarlı olabilir (sunucuya bağlı), bu nedenle tutarlı büyük/küçük harf kullanın. Dosya adlarında boşluklardan kaçının—kebab-case veya snake_case kullanın. Özel karakterlerden kaçının—harfler, rakamlar, tireler, alt çizgiler güvenlidir. JSON API'leri: camelCase (yaygın) veya snake_case (daha az yaygın) anahtar adları için. JavaScript API'leri genellikle camelCase kullanır (firstName, userId). Python API'leri genellikle snake_case kullanır (first_name, user_id). API'nizi tüketen dillerle tutarlı olun. Belgelerinizde kuralı belirtin. CSS ve HTML: Sınıf adları için kebab-case (.btn-primary, .user-profile). Özel veri öznitelikleri için kebab-case (data-user-id, data-toggle). ID'ler için kebab-case veya camelCase (kabul edilebilir, ancak kebab daha yaygındır). HTML öznitelik adları küçük harftir (id, class, data-*). Ortam değişkenleri: SCREAMING_SNAKE_CASE (DATABASE_URL, API_KEY, MAX_CONNECTIONS). Bu, tüm dillerde ve platformlarda evrensel bir kuraldır. Büyük harfler, ortam değişkenlerini normal değişkenlerden ayırır. Son olarak, mevcut kuralları takip edin. Mevcut bir kod tabanına katkıda bulunuyorsanız, mevcut stili eşleştirin—kişisel tercihlerinizle karıştırmayın. Ekip kuralları kişisel tercihlerden önceliklidir. Yeni bir proje başlatıyorsanız, dil için standart kuralları seçin ve belgeleyin.

Durum Dönüştürme En İyi Uygulamaları

Metin durumları arasında dönüştürme yaygın bir görevdir—API entegrasyonları, veritabanı eşlemeleri ve kod üretimi genellikle durum dönüştürme gerektirir. Bu en iyi uygulamalar, güvenilir dönüşümler sağlar. Yerleşik kütüphaneler kullanın. Durum dönüştürmeyi manuel olarak uygulamayın—kenar durumlar (kısaltmalar, sayılar, özel karakterler) karmaşıktır. Yerleşik kütüphaneler bunları ele alır. JavaScript: lodash (_.camelCase, _.snakeCase, _.kebabCase), change-case kütüphanesi. Python: stringcase, inflection. PHP: Illuminate/Support/Str (Laravel). Bu kütüphaneler, kapsamlı test edilmiştir ve kenar durumlarını işler. Kısaltmaları tutarlı bir şekilde ele alın. "HTML" camelCase'te "html" (htmlParser) veya "Html" (HtmlParser) olur mu? Tutarlı olun. Çoğu kural küçük harfli kısaltmaları tercih eder (htmlParser, jsonData). PascalCase'te, kısaltmalar bazen büyük kalır (HTMLParser) ancak bu daha az yaygındır. Ekip kuralınızı belgeleyin. Sayıları koruyun. "user123" camelCase'e dönüştürülürken "user123" kalmalıdır, "user123" olmamalıdır. Sayılar kelime sınırları değildir. "user_123" snake_case'ten camelCase'e "user123" olmalıdır. Dönüştürme araçları sayıları doğru şekilde işlemelidir. Özel karakterlere dikkat edin. Özel karakterler (!, @, #, $) dönüştürme sırasında genellikle kaldırılır. "user@email" → "userEmail". Tutarlı davranışı sağlayın—bazı kütüphaneler kaldırır, bazıları çöker. Girdilerinizi doğrulayın. Dönüştürmeyi ters çevirme kesin değildir. camelCase'ten snake_case'e kolaydır (firstName → first_name). Ancak, snake_case'ten camelCase'e belirsiz olabilir ("html_parser" → "htmlParser" veya "HtmlParser"?). Dönüştürmeyi ters çeviremezseniz, orijinal verileri koruyun. Toplu dönüştürme için, tutarlılığı sağlayın. JSON nesnelerinin tüm anahtarlarını dönüştürüyorsanız, iç içe nesneleri de dönüştürün. Kısmi dönüştürme karışıklık yaratır (bazı anahtarlar camelCase, bazıları snake_case). Özyinelemeli dönüştürme fonksiyonları tüm seviyeleri ele alır. Veritabanı ile API katmanları arasındaki dönüştürme yaygındır. Veritabanları snake_case kullanır (first_name). JavaScript API'leri camelCase kullanır (firstName). ORM'ler (Sequelize, TypeORM, Django ORM) genellikle otomatik dönüştürme sunar. Tutarlı eşlemeyi yapılandırın—manuel dönüştürme hataya açıktır. Performans düşünün. Büyük veri kümeleri için durum dönüştürme yavaş olabilir (regex, string manipülasyonu). Mümkünse sonuçları önbelleğe alın. Kritik yollarda (sıcak döngüler) gereksiz dönüştürmelerden kaçının. Çoğu uygulama için, performans ihmal edilebilirdir. Belgeleme önemlidir. API'nizin hangi durum kuralını kullandığını belgeleyin. İstemciler nasıl dönüştüreceklerini bilmeli. Tutarsız durum karışıklık yaratır (bazı alanlar camelCase, bazıları snake_case). Standartlaştırın ve belgeleyin. Son olarak, mümkün olduğunda dönüştürmeden kaçının. Tutarlı durum kurallarını uçtan uca (veritabanından API'ye UI'ye) kullanmak dönüştürme ihtiyacını ortadan kaldırır. JavaScript yığınları camelCase her yerde kullanabilir. Python yığınları snake_case kullanabilir. Birlikte çalışabilirlik dönüştürme gerektirdiğinde, yapın—ancak ideal olarak, minimize edin.

Aracı Dene

Metin Büyük/Küçük Harf Dönüştürücü

Metin Büyük/Küçük Harf Dönüştürücü

Daha Fazla Bilgi

SSS

Metin Büyük/Küçük Harf Dönüştürücü

SSS