İçeriğe geç
parazade

Linter Nedir?

Yayın: · Son güncelleme:

Linter Nedir? Kısaca

Linter, kaynak kodu çalıştırmadan inceleyip olası hataları, şüpheli kullanımları ve ekip yazım kurallarına aykırı satırları işaretleyen statik analiz aracıdır. ESLint ve Pylint yaygın örneklerdir.

Linter nedir?
İçindekiler
  1. Linter nedir?
  2. Nasıl çalışır?
  3. Nelere dikkat etmeli?

Linter nedir?

Linter, yazdığınız kodu satır satır tarayıp sorunlu görünen yerleri size bildiren bir araçtır. Kodu çalıştırmaz, yalnızca okur; bu yönteme statik analiz denir. Adı, 1970'lerin sonunda C dili için yazılmış "lint" adlı programdan gelir.

Linter'ın yakaladığı sorunlar iki türlüdür. Bir kısmı gerçek hata adayıdır: tanımlanmamış bir değişken, hiç kullanılmayan bir fonksiyon ya da yanlış yazılmış bir karşılaştırma. Diğer kısmı ise biçim ve okunabilirlik kurallarıdır: girinti, tırnak tipi, satır uzunluğu gibi.

Nasıl çalışır?

Her dil için ayrı linter'lar vardır: JavaScript için ESLint, Python için Pylint ya da Ruff, CSS için Stylelint bunlardan bazılarıdır. Proje klasörüne bir yapılandırma dosyası eklenir ve hangi kuralların açık olacağı bu dosyada belirlenir.

Örneğin JavaScript'te if (x = 5) yazmak sözdizimi açısından geçerlidir ama büyük ihtimalle if (x === 5) kastedilmiştir. Program çalışır, fakat koşul her zaman doğru çıkar. Linter bu satırı daha kodu kaydederken altını çizerek gösterir ve saatler sürebilecek bir hata arayışını önler.

Nelere dikkat etmeli?

Linter'ı en verimli kullanmanın yolu onu editörünüze entegre etmektir. VS Code gibi editörler uyarıları anında gösterir. Ayrıca kod depoya gönderilmeden önce otomatik çalıştırılırsa kuralları ihlal eden kod ana dala girmez.

Başlangıçta yüzlerce kural açmak ekibi bıktırabilir. Yaygın kabul görmüş hazır bir kural setiyle başlayıp ekibin ihtiyacına göre birkaçını değiştirmek daha sürdürülebilir bir yoldur.

Sıkça Sorulan Sorular

Linter ile formatter arasındaki fark nedir?

Formatter yalnızca kodun görünüşünü, yani boşlukları, girintileri ve satır sonlarını düzenler. Linter ise biçimin yanında mantıksal hata adaylarını da tespit eder; ikisi genellikle birlikte kullanılır.

Linter hataları bulmak için yeterli mi?

Hayır, linter yalnızca kalıplara uyan sorunları yakalar. Programın doğru sonuç verip vermediğini görmek için birim testleri ve kod incelemesi gibi yöntemler de gerekir.

İlgili terimler

Temiz Kod(Clean Code)Temiz kod (clean code), başka bir geliştiricinin kolayca okuyup anlayabileceği, değiştirebileceği ve test edebileceği biçimde yazılmış koddur. Anlamlı isimler, küçük ve tek işe odaklı fonksiyonlar ve gereksiz karmaşıklıktan uzak bir yapı temel özellikleridir.Hata Ayıklama(Debugging)Hata ayıklama (debugging), bir yazılımdaki hatanın nedenini bulma, anlama ve düzeltme sürecidir. Hatayı yeniden üretmek, kaynağını daraltmak ve düzeltmeyi test etmek bu sürecin temel adımlarıdır.VS Code(Visual Studio Code)VS Code (Visual Studio Code), Microsoft tarafından geliştirilen, ücretsiz ve Windows, macOS ve Linux'ta çalışan bir kod editörüdür. Eklentilerle neredeyse her programlama dili için kullanılabilir.CI/CDCI/CD, yazılımdaki değişikliklerin otomatik olarak birleştirilip test edildiği (sürekli entegrasyon) ve yayına hazır hâle getirilip dağıtıldığı (sürekli teslimat ya da dağıtım) süreçlerin bütünüdür.Fonksiyon(Function)Fonksiyon, programlamada belirli bir işi yapan, isim verilmiş ve gerektiğinde tekrar tekrar çağrılabilen kod bloğudur. Girdi olarak parametre alabilir ve geriye bir değer döndürebilir.Girinti(Indentation)Girinti (indentation), kod satırlarının başına boşluk ya da sekme ekleyerek hangi satırların aynı bloğa ait olduğunu gösteren yazım düzenidir. Python'da zorunludur; diğer birçok dilde okunabilirlik için kullanılır.JavaScriptJavaScript, web sayfalarına buton tıklaması, form doğrulama ve anlık güncelleme gibi etkileşimler kazandıran, tarayıcıların yanı sıra Node.js ile sunucuda da çalışabilen yaygın bir programlama dilidir.