Swiftlint ile Kod Kalitesini Arttırma

Frkygtr
Paycell Tech Team
Published in
2 min readDec 14, 2023

Swiftlint, Realm tarafından ortak swift stilini ve kurallarını uygulamak için geliştirlen 3. Parti bir araçtır. Swiftlint kod kalitesini arttırmak, daha temiz kod yazmak ve takımlar çalışmalarında verimliliği arttırmak için kullanılmaktadır.

Swiftlint yazdığımız kodu derlerken geliştiricinin belirlediği kuralları dikkate alarak, kurallara uymayan durumlarda hata veya uyarı’yı geliştiriciye bildirir.

Swiftlint kullanımının diğer bir güzelliği ise herkesin kendine has şekilde yazım stil’i yerine ortak bir stilde yazılmasını sağlaması, bu sayede takım çalışmalarında okunabilirliği arttırmasıdır.

Şimdi Swiftlint’i projemizde uygulamaya geçelim

İnternetten indirdiğim sample bir proje üzerinden örnekler ile ilerleyeceğiz.

Kurulum

Bilgisayarımızda terminali açtıktan sonra aşağıdaki kurulumu yapıyoruz

brew install swiftlint

kurulumu tamamladıktan sonra proje ismine tıklayıp “Build Phases” sekmesinde “+” butonuna basarak “New Run Script Phase” diyoruz ve aşağıdaki script’i ekliyoruz

export PATH=”$PATH:/opt/homebrew/bin”
if which swiftlint > /dev/null; then
swiftlint
else
echo “warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

Yazım hatalarını compile’dan önce görmek için scriptimizi “Compile Sources” üzerine sürüklüyoruz.

Konfigürasyon Ayarları

Öncelikle terminal’i açıp proje dizinine gidiyoruz ve ardından,

Proje dizinindeyken “touch .swiftlint.yml” komutunu çalıştırarak swiftlink kural dosyamızı oluşturuyoruz.

Sonrasında “open .swiftlint.yml -a Xcode” komutunu çalıştırarak swiftlint kural dosyamızı xcode üzerinden açıyoruz.

Şimdi yazdığım örnek kuralı inceleyelim.

disabled_rules: Kullanılmasını istemediğimiz kuralları belirtiyoruz

opt_in_rules: Uygulanması istenen kurallar

included: Dahil edilen dizin

excluded: Düzenlenmesini istemediğimiz dosyaları belirtiyoruz

line_length: tek satırdaki içerebilecek max karakter kuralları

Bu işlemlerin ardından build alarak hatalarımızı görebiliriz.

Projenize eklemek istediğiniz daha fazla Swiflint kuralına aşağıda verdiğim adresten ulaşabilirsiniz.

https://realm.github.io/SwiftLint/rule-directory.html

--

--