Scala Formatlayıcımızı Neden Kullanmalısınız
- Yapılandırılmamış veya hizalanmamış Scala kodunu anında biçimlendir
- Türler, parametreler ve operatörler etrafındaki boşlukları düzelt
- Sınıflar, nesneler, özellikler ve metotlar için parantez stilini normalleştir
- Uzun ifadeler ve metot zincirleri için scalafmt tarzı satır sarma uygula
- `.scala`, `.sc` betikleri ve `.sbt` yapı dosyalarını destekler
- Kod güvenli bir backend üzerinden biçimlendirilir – paylaşılmaz veya indekslenmez
- Dizüstü, masaüstü ve tablette çalışan duyarlı düzenleyici arayüzü
🛠️ Scala Kodunu Çevrimiçi Nasıl Biçimlendirirsiniz for scala-formatter
1. Scala Kodunuzu Yapıştırın veya Yükleyin
📥 Scala kodunuzu düzenleyiciye yapıştırın veya bir `.scala`, `.sc` veya `.sbt` dosyasını sürükleyip bırakın. Düzenleyici, kodunuzu hızlıca tarayabilmeniz için Scala sözdizimi vurgulaması uygular.
2. "Biçimlendir" Düğmesine Tıklayın
⚙️ **Biçimlendir** düğmesine basın. Kodunuz, anlamı değiştirmeden boşlukları, girintileri ve satır sonlarını yeniden düzenleyen bir scalafmt-tarzı biçimlendiriciye HTTPS üzerinden gönderilir.
3. Sonucu İnceleyin
🔍 Temizlenmiş sürümü orijinalinizle karşılaştırın. Parantezler, boşluklar ve boş satırlar normalleştirilir, böylece kodunuzun yapısını takip etmek daha kolay olur.
4. Kopyalayın veya İndirin
📤 Biçimlendirilmiş Scala kodunu IDE'nize geri kopyalayın veya işleme, kod incelemesi veya dağıtım için hazır bir `.scala` dosyası olarak indirin.
Teknik Özellikler
Stil Davranışı (Scalafmt-Tarzı)
Biçimlendirici, kodunuzun modern Scala projelerinde doğal görünmesi için yaygın scalafmt kurallarını yansıtmayı hedefler.
| Yön | Davranış | Notlar |
|---|---|---|
| Girinti & Parantezler | `class`, `object`, `trait`, `def`, `if`, `match` ve `for` için tutarlı girinti | İç içe kontrol akışını ve desen eşleştirmelerini okumayı kolaylaştırır. |
| Tür & Parametre Boşlukları | İki nokta üst üste, oklar ve parametre listeleri etrafındaki boşlukları normalleştirir | Örneğin: `def f(x: Int): String` yerine `def f(x:Int):String`. |
| İçe Aktarmalar & Paketler | Paket ve içe aktarma bloklarını yapılandırılmış ve tanımlardan ayrı tutar | Dosyalar arasında gezinmeyi ve tutarlılığı iyileştirir. |
| Boş Satırlar | Üst düzey tanımlar etrafındaki boş satırları standartlaştırır | Modeller, servisler ve yardımcılar gibi mantıksal bölümleri ayırır. |
| İdempotans | Biçimlendirmeyi birden çok kez çalıştırmak aynı sonucu verir | Stil kayması olmadan istediğiniz sıklıkta yeniden biçimlendirmek güvenlidir. |
Scala Sürüm Uyumluluğu
Biçimlendirici hem Scala 2 hem de Scala 3 sözdizimi için tasarlanmıştır.
| Özellik | Destek | Notlar |
|---|---|---|
| Scala 2.x | ✅ Evet | Implicit'ler, companion nesneleri ve klasik for-anlamaları gibi yaygın desenlerle çalışır. |
| Scala 3 (Dotty) | ✅ Evet | given/using, extension metodları, enum'lar ve diğer Scala 3 yapılarını anlar. |
| SBT yapı dosyaları | ✅ Evet | Yapılarda ve bağımlılık tanımlarında kullanılan `.sbt` dosyalarını biçimlendirir. |
Desteklenen Girdi & Sınırlar
Sadece küçük kod parçacıkları değil, gerçek dünya proje dosyaları için optimize edilmiştir.
| Parametre | Sınır / Davranış | Notlar |
|---|---|---|
| Dosya uzantıları | .scala, .sc, .sbt | Kaynak dosyaları, betikler ve yapı tanımları. |
| MIME türleri | text/x-scala | Sözdizimi vurgulama için dahili olarak kullanılır. |
| Maksimum girdi boyutu | ≈ 2 MB kaynak kodu | Aşırı büyük üretilmiş kodlar yerel scalafmt ile biçimlendirilmelidir. |
| Kodlama | UTF-8 önerilir | UTF-8 olmayan içerik biçimlendirmeden önce dönüştürülmelidir. |
Yürütme & Güvenlik
Biçimlendirme, halka açık üçüncü taraf servisler yerine özel, güvenli bir arka uç üzerinden gerçekleştirilir.
| Yön | Davranış | Notlar |
|---|---|---|
| Taşıma | Scala biçimlendirme API'sına HTTPS çağrıları | Kodunuz güvenli şekilde iletilir ve halka açık olarak maruz kalmaz. |
| Zaman Aşımı | İstek başına ~25 saniye | Patolojik girdilerde uzun süren veya takılan biçimlendirme işlerini önler. |
| Anlambilim | Yalnızca düzen dönüşümleri | Biçimlendirici, program mantığınızı değil, boşlukları ve düzeni değiştirir. |
Yerel İş Akışınızda Scalafmt Kullanın
Tam kontrol ve depo genelinde biçimlendirme için scalafmt'yi kurun ve build veya CI pipeline'ınıza entegre edin:
Evrensel (sbt aracılığıyla)
Projenize scalafmt ekleyin
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2")sbt kabuğundan scalafmt çalıştırmanızı sağlayan sbt eklentisini ekler.
Tüm kaynakları biçimlendir
sbt scalafmtAllProjenizdeki tüm Scala ve sbt dosyalarını `.scalafmt.conf` kullanarak biçimlendirir.
CI'da biçimlendirmeyi kontrol et
sbt scalafmtCheckAllDosyalar doğru biçimlendirilmemişse build'ı başarısız yapar.
Yaygın Kullanım Senaryoları
Backend & FP Servisleri
Büyük Scala backend'lerini ve FP kod tabanlarını tutarlı ve incelemesi kolay tutun.
- Akka, ZIO, Cats Effect veya Play projelerinde stili standartlaştırın.
- Pull request açmadan veya örnek paylaşmadan önce kodu temizleyin.
- Büyük refaktörleme veya kütüphane geçişlerinden sonra formatı normalleştirin.
object A{def main(args:Array[String]){println("hi")}}
object A {
def main(args: Array[String]): Unit = {
println("hi")
}
}
Scala Öğrenme & Öğretme
Boşluk savaşları yerine fonksiyonel kavramlar ve tipler üzerine odaklanın.
- Öğrenci gönderimlerini mantık ve desenleri incelemeden önce otomatik biçimlendirin.
- Scala stili öğretirken biçimlendirme öncesi/sonrası örnekleri gösterin.
- Slaytlar, dokümanlar ve blog yazıları için temiz kod parçacıkları hazırlayın.
Build & Araç Senaryoları
`.sbt` build dosyalarını ve küçük Scala betiklerini düzenli tutun.
- Bakımı kolaylaştırmak için sbt ayarlarını ve bağımlılık bloklarını biçimlendirin.
- Geçişler veya dahili araçlar için kullanılan yardımcı betikleri temizleyin.
❓ Frequently Asked Questions
❓Scalafmt nedir ve bu araç onunla nasıl ilişkilidir?
🔧Tüm scalafmt kurallarını burada özelleştirebilir miyim?
🌐Scala 3 sözdizimini destekliyor mu?
🔒Scala kodum herkese açık bir sunucuya gönderiliyor mu?
HTTPS üzerinden bu araca özel özel bir biçimlendirme arka ucuna gönderilir ve paylaşılmaz veya indekslenmez. Yüksek derecede gizli veya tescilli kodlar için, scalafmt'yi yerel olarak çalıştırabilirsiniz.⚙️Biçimlendirme, Scala programımın davranışını değiştirecek mi?
Pro Tips
Editörünüz, CI ve `sbt scalafmt`'nizin hepsi aynı stili kullansın diye deponuzda bir `.scalafmt.conf` dosyası bulundurun.
Yeniden düzenlemelerden önce, sonraki farkların gerçek kod değişikliklerine odaklanması için özel bir "sadece biçimlendirme" commit'i çalıştırın.
Gürültülü farklardan ve çakışan stillerden kaçınmak için ekibinizde tutarlı bir maksimum satır genişliği kullanın.
Öğretirken, önce dağınık Scala'yı gösterin, ardından düzenin okunabilirliği nasıl artırdığını vurgulamak için biçimlendirilmiş versiyonu gösterin.
Additional Resources
Other Tools
- CSS Güzelleştirici
- HTML Güzelleştirici
- JavaScript Güzelleştirici
- PHP Güzelleştirici
- Renk Seçici
- Sprite Çıkarıcı
- Base64 Çözücü
- Base64 Kodlayıcı
- C# Biçimlendirici
- CSV Biçimlendirici
- Dockerfile Formatter
- Elm Biçimlendirici
- ENV Biçimlendirici
- Go Biçimlendirici
- GraphQL Biçimlendirici
- HCL Biçimlendirici
- INI Biçimlendirici
- JSON Biçimlendirici
- Latex Biçimlendirici
- Markdown Biçimlendirici
- ObjectiveC Biçimlendirici
- Php Formatter
- Proto Biçimlendirici
- Python Biçimlendirici
- Ruby Biçimlendirici
- Rust Biçimlendirici
- Shell Script Biçimlendirici
- SQL Biçimlendirici
- SVG Biçimlendirici
- Swift Biçimlendirici
- TOML Biçimlendirici
- Typescript Formatter
- XML Biçimlendirici
- YAML Biçimlendirici
- Yarn Biçimlendirici
- CSS Küçültücü
- Html Minifier
- Javascript Minifier
- JSON Küçültücü
- XML Küçültücü
- HTTP Başlıkları Görüntüleyici
- PDF'den Metne
- Regex Test Edici
- SERP Sıra Kontrolü
- Whois Sorgulama