Kod Programatik Olarak DotNet Format ile Biçimlendirme
Bu makalede, C# .NET kodunuzu programatik olarak dotnet format aracı kullanarak formatlama sürecinde ilerleyeceğiz. Bu rehber, Gerald Versluis'in "DotNet Format ile C# .NET Kodunuzu Otomatik Olarak Formatlama" video eğitimi esas alınarak oluşturulmuş olup, araç kullanarak kodunuzun tutarlı biçimlendirme standartlarına uyduğundan emin olmanızı sağlar. Videoda Gerald'ın yaptığı her şeyi takip etmenize ve bu teknikleri projelerinize uygulamanıza yardımcı olmak için zaman damgaları ve ayrıntılı açıklamalar sağlayacağım.
DotNet Format'a Giriş
(0:36) sırasında, Gerald, dotnet format'ı, .editorconfig dosyasında tanımlanan kurallara göre C# kodunu biçimlendirmek için tasarlanmış bir araç olarak tanıtır. Bu dosya, tüm proje boyunca tutarlı kodlama tarzlarını zorlamada kritik bir rol oynar. Tüm kodun aynı biçimlendirme kurallarına uymasını sağlar, bu kurallar arasında:
- Girinti Stili: Sekmeler veya boşluklar kullanma tercihi.
- Boşluk Kuralları: Operatörler, parantezler vb. etrafında ne kadar boşluk bırakılacağı.
- Kod Yapısı: Tek satırlık ve çok satırlık yapılar nasıl biçimlendirilir.
Bu kuralları uygulayarak, dotnet format, tek bir kod tabanı korumaya yardımcı olur, okumayı ve yönetmeyi kolaylaştırır.
.editorconfig Dosyasını Anlamak
.editorconfig dosyası, Gerald tarafından (0:48) sırasında açıklandığı gibi, çeşitli kodlama stil tercihlerini belirtir. Bu dosya oldukça esnektir ve geniş bir yelpazede biçimlendirme kuralları tanımlamanıza olanak tanır, bunlar arasında:
- Girinti Tercihleri: Girinti için sekmeler mi yoksa boşluklar mı kullanılacağı ve kaç boşluğun kullanılacağı belirlenir.
- Boşluk Yönergeleri: Operatörler, parantezler ve anahtar kelimeler gibi kod elemanları etrafındaki boşlukları kontrol eder.
- Diğer Biçimlendirme Kuralları: Kod tutarlılığını sağlamak için ek stil kuralları tanımlar.
.editorconfig dosyası, farklı editörler ve IDE'ler için kod formatlama ayarlarının merkezi bir noktası olarak hizmet eder.
DotNet Format Aracının Genel Bakışı
Gerald, (1:13)'te dotnet format'ın .NET runtime için evrensel bir araç olduğunu açıklar. Evrensel bir araç olmak, .NET projeleri genelinde sisteminize bir kez kurulup kullanılabilir anlamına gelir. Bu, her proje için ayrı kurulum veya yapılandırma gerektirmeden tutarlı kod biçimlendirmesi sağlar.
(1:26)'te dotnet format deposuna GitHub üzerinden erişebilirsiniz. Bu depo, aracın kaynak kodunu, belgelerini ve ek bilgileri sağlayarak kullanıcıların işlevselliğini anlamalarına ve en son sürümleriyle güncel kalmalarına yardımcı olur.
DotNet Format'ın Temel Kullanımı
(2:09)'da Gerald, dotnet format kullanmanın temel komutunu gösterir:
dotnet format <options> <workspace>dotnet format <options> <workspace>Çalışma Alanı Nedir?
Dotnet format bağlamında, 'çalışma alanı' terimi, biçimlendirilecek kodun kapsamını ifade eder. Bu şunları içerebilir:
- Bir Çözüm Dosyası: Birden fazla projeyi kapsayan .sln dosyası.
- Bir Proje Dosyası: Belirli kod dosyalarını içeren bireysel bir .csproj dosyası.
- Bir Klasör: Çeşitli kod dosyaları, .cs ve muhtemelen .vb dosyalarını içeren bir dizin.
Farklı türde çalışma alanları belirleme esnekliği, projenizin farklı seviyelerinde biçimlendirme uygulamanıza olanak tanır.
Özellikler ve Seçenekler
(2:27)'de Gerald, dotnet format'ın birkaç önemli özelliğini ve seçeneğini vurgular:
- Otomatik Düzeltme: Araç, .editorconfig dosyanızda tanımlanan kurallara göre biçimlendirme sorunlarını otomatik olarak düzeltebilir. Bu, projeniz genelinde tutarlı kod stili korumak için manuel müdahale olmaksızın faydalıdır.
- Sadece Kontrol: Değişiklik yapmadan biçimlendirmenin sorunlarını gözden geçirmek istiyorsanız, bu aracı sadece sorunları kontrol etmek için kullanabilirsiniz. Bu özellik, sürekli entegrasyon (CI) süreçlerinde özellikle faydalıdır.
Gelişmiş Seçenekler ve Özelleştirme
Gerald, gelişmiş seçenekleri ve özelleştirmeleri inceler. Bahsedilenler:
- Ciddiyet Seviyesi: Hangi sorun seviyelerinin düzeltilmesi gerektiğini belirtmenize olanak tanır. Bu, belirli biçimlendirme sorunlarına odaklanmanıza yardımcı olur.
- Dosyaları Dahil Etme/Dışlama: Hangi dosyaların biçimlendirmeye dahil edilip dışlanacağını kontrol edebilirsiniz. Bu, kod yapınızın belirli bölümlerine odaklanmak için faydalıdır.
- Çıkış Kodu ile Sadece Kontrol: Kontrol seçeneği kullanarak, herhangi bir biçimlendirme sorununun olup olmadığını doğrulayabilirsiniz. Çıkış kodu, sorunların bulunup bulunmadığını gösterecektir.
- JSON Raporu: Kodunuzun biçimlendirme durumuna dair ayrıntılı bir rapor oluşturarak içgörüler sağlar.
- Gürültü Seviyesi: Üretilen çıktının miktarını kontrol etmek için Gürültü seviyesini ayarlayın.
- Araç Sürümü: Projenizle uyumluluğu sağlamak ve yeni özelliklerle güncel kalmak için dotnet format'ın sürümünü kontrol edin.
Dotnet Format Araç Kurulumu
Gerald, C# kodunu programlı olarak biçimlendirmek için gereken dotnet format aracının kurulum sürecini açıklayarak başlar. Aşağıdaki komutla bir evrensel araç olarak nasıl ayarlanacağını gösterir:
dotnet tool install -g dotnet-formatdotnet tool install -g dotnet-formatBu komut, dotnet format'ın genel olarak kullanılabilir olmasını sağlayarak herhangi bir komut isteminden veya terminalden kolay erişim sağlar. Gerald, .NET Core runtime gereksinimini vurgular, bu nedenle son zamanlarda .NET ile çalışıyorsanız kurulmuş olmalıdır.

(4:00)'de, kurulumun başarılı olduğunu doğrulamak için Gerald şu komutu çalıştırır:
dotnet format /?dotnet format /?Bu komut, dotnet format'ın doğru bir şekilde kurulu ve hazır olduğunu doğrulayan mevcut seçenek ve komutlar listesini gösterir.

(4:11)'de, --dry-run gibi bazı seçeneklerin kullanım dışı kaldığını ve kod biçimlendirme için güncellenmiş uygulamaların kullanılmasını tavsiye eder.
Kod Biçimlendirme Düzeltmelerini Uygulama
Biçimlendirme Sorunlarını Kontrol Etme
Gerald, pratik bir örnek olarak Xamarin Community Toolkit kod tabanını kullanarak, herhangi bir değişiklik yapmaksızın biçimlendirme sorunlarını kontrol eder. Şunu çalıştırır:
dotnet format . -f --checkdotnet format . -f --checkbiçimlendirilmesi gereken dosyaları belirlemek için. (5:26)'da Gerald, --folder kullanarak dizinler veya dotnet format sln kullanarak çözüm dosyası ile çalışma alanını nasıl belirleyeceğinizi açıklar. Bu komut, biçimlendirme sorunları olan dosyaları listeler.
Hata Seviyesi Kontrolü
Her işlem, durumu belirten bir çıkış koduna sahiptir. Gerald, hata seviyesini kontrol etmek için aşağıdaki komutu çalıştırdı:
echo %errorlevel%echo %errorlevel%Gerald, 2 çıkış kodunun giderilmesi gereken biçimlendirme hatalarını işaret ettiğini gösterir.

Düzeltmeleri Uygulama ve Doğrulama
Gerald daha sonra düzeltmeleri --check bayrağı olmadan komutu tekrar çalıştırarak nasıl uygulayacağınızı gösterir:
dotnet format . -fdotnet format . -fBu, .editorconfig dosyanızda tanımlanan kurallara göre kod dosyalarını otomatik olarak biçimlendirecektir. Gerald, yukarıda belirtilen aynı komutu kullanarak çıkış kodunu tekrar kontrol eder, böylece 0 olduğundan emin olur; bu da tüm biçimlendirme sorunlarının giderildiğini gösterir.
(8:00)'de, bir grafik araç olan GitHub Desktop kullanarak yapılan değişiklikleri doğrular. Araç, düzeltme yapılmış boşluklar, düzenlenmiş kullanma ifadeleri ve diğer biçimlendirme ayarlamaları gibi iyileştirmeler gösterir.

Biçimlendirmeyi İş Akışınıza Entegre Etme
Gerald, dotnet format aracını CI boru hattınıza dahil etmenizi önerir. Bu uygulama, kod biçimlendirmesinin tutarlı şekilde uygulanmasını ve yüksek kaliteli kod standartlarının korunmasına yardımcı olur. Biçimlendirme sürecini otomatikleştirerek manuel biçimlendirme görevlerinden kaçınabilir ve tüm kodun tanımlanmış stil kurallarına uygun olmasını sağlayabilirsiniz.
Sonuç
Gerald'in ayrıntılı kılavuzunu takip ederek, C# .NET kodunun biçimlendirmesini otomatikleştirmek için dotnet format'ı gelişim sürecinize kolayca entegre edebilirsiniz. İster yalnız çalışıyor olun, ister bir ekibin parçası olun, bu araç kodunuzun temiz, tutarlı ve okunabilir olmasını sağlamaya yardımcı olur. Gerald'ın uygulamalı bir gösterim ve dotnet format aracı hakkında daha fazla içgörü için videosunu mutlaka inceleyin. C# kodu hakkında daha fazla bilgi için YouTube Kanalını da kontrol edin.


