Ana içeriğe geç

Linting

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/linting

Kısaca

Linting, kaynak kodu çalıştırmadan otomatik olarak analiz edip olası hataları, stil sorunlarını ve şüpheli kalıpları kod yayına çıkmadan işaretleme işlemidir.

Linting nedir?

Linting, programı çalıştırmadan sorunları bulmak için kaynak kodunuz üzerinde linter adı verilen bir araç çalıştırmak demektir. Linter; kullanılmayan değişkenler, erişilemeyen kod, eksik bir await ya da neredeyse her zaman hata olan karşılaştırmalar gibi sorunları raporlar. Adı, C kodundaki şüpheli yapıları kontrol eden 1978 tarihli bir Unix aracı olan lintten gelir; araç, giysilerde biriken tüylerin adını almıştır.

Linter, kodu yapılandırılmış bir temsile ayrıştırır ve bir kural kümesine göre kontrol eder. Her kural açılıp kapatılabilir ve uyarı verecek ya da hata verecek şekilde ayarlanabilir; bu ayar genellikle depoya commit edilen bir yapılandırma dosyasında tutulur. Pek çok kural sorunları otomatik olarak düzeltebilir ve linter'lar genellikle siz yazarken editörde, pre-commit hook'larında ve CI/CD hattında çalışır.

Linting, kod için bir yazım ve dilbilgisi denetleyicisi gibidir: savunduğunuz fikrin doğru olup olmadığını söylemez, ama pek çok mekanik hatayı yakalar. Neredeyse her dil için linter'lar vardır ve ekipler bunları hataları erken yakalamak ve kod incelemesini hızlandıran tutarlı bir stili korumak için kullanır.

Linting sıklıkla biçimlendirme ve test ile karıştırılır. Biçimlendirici (formatter) yalnızca girinti ve satır sonları gibi düzeni yeniden yazar; linter ise şüpheli mantığa da bakar. Ayrıca testlerin aksine linter kodunuzu asla çalıştırmaz, bu yüzden programın doğru sonuçlar ürettiğini kanıtlayamaz.

Önemli noktalar

  • Linter, kodu çalıştırmadan analiz eder.
  • Olası hataları, riskli kalıpları ve stil tutarsızlıklarını işaretler.
  • Kurallar yapılandırılabilir ve pek çok sorun otomatik olarak düzeltilebilir.
  • Linter'lar editörlerde, pre-commit hook'larında ve CI/CD hatlarında çalışır.
  • Linting testleri tamamlar; onların yerini almaz.

Örnek

Bir linter'ın işaretleyeceği sorunlarjavascript
function getTotal(items) {
  const discount = 0.1; // warning: 'discount' is assigned but never used
  let total = 0;

  for (const item of items) {
    if (item.price = 0) continue; // error: assignment inside a condition
    total += item.price;
  }

  return total;
}

Sık sorulan sorular

Linter ile formatter arasındaki fark nedir?

Formatter yalnızca boşluk, girinti ve satır uzunluğu gibi kodun görünümünü değiştirir. Linter ise kullanılmayan değişkenler ya da yanlışlıkla yapılan atamalar gibi olası hataları ve kötü uygulamaları arar; ancak bazı linter'lar stili de zorunlu kılabilir.

Linting ile statik analiz aynı şey midir?

Linting, kodu çalıştırmadan incelemek anlamına gelen statik analizin hafif bir biçimidir. Daha kapsamlı statik analiz araçları, örneğin güvenlik açıklarını bulmak için veriyi dosyalar arasında izleyerek daha da ileri gidebilir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar