Linting, olası kod tabanı hatalarını belirlemek için bir tür statik kod analizidir. Linters, sözdizimi hataları ve stil sorunları için kodu analiz eder. Süreç, hataların önlenmesine, okunabilirliğin iyileştirilmesine, en iyi uygulamaların uygulanmasına ve zamandan tasarruf edilmesine yardımcı olabilir.
Linting, yazılım geliştirmede standart bir uygulamadır. Go'nun standart kitaplığında yerleşik bir linter bulunmamakla birlikte, Go ekosisteminde pek çok üçüncü taraf linter aracı mevcuttur. Bunlar GolangCI Lint, Go Meta Linter ve Staticcheck paketlerini içerir.
GolangCI Lint Paketi
golangci-tiftik paketi kod hatalarını belirlemenize ve düzeltmenize yardımcı olabilecek güçlü ve esnek bir Go linteridir. Paketin kullanım kolaylığı, genişletilebilirliği ve kapsamlı yerleşik linter seti, onu birçok Go geliştiricisi için popüler bir seçim haline getiriyor.
GolangCI Lint, Go kaynak kodunu analiz eder ve olası hatalar, güvenlik sorunları ve yüksek performanslı analiz ve sürekli entegrasyon (CI) için işlevselliğe sahip kodlama stili ihlalleri Destek.
Golangci-lint paketini kurmak için projenizin çalışma dizininde bu terminal komutunu çalıştırın:
gidip github.com/golangci/golangci-lint/cmd/[email protected]'i kurun
Komutun paketi kurması için Go sürümünüzün 1.19 veya üstü olması gerekir. Ayrıca kontrol edebilirsiniz golangci-tiftik kurulumları Diğer kullanılabilir yükleme yöntemleri için sayfa.
Komut, GolangCI'yi sisteminize bir CLI aracı olarak yükleyecektir. Kurulumu şu komutla doğrulayabilirsiniz:
golangci-tiftik --versiyon
Komut, yüklediğiniz golangci-lint sürümünü göstermelidir.
Linter'i Yapılandırma
Linterler çok yönlüdür, yani bir linter kurmak için projeniz için linter'i yapılandırmanız gerekir.
bu golangci tüyü araç kullanır Yapılandırma için YAML dosyaları. Paketin okuması için linterinizin ayarlarını YAML dosyasında belirteceksiniz.
Bu komutu kullanarak bir varsayılan yapılandırma dosyası oluşturabilirsiniz:
golangci-tiftik yapılandırması > .golangci.yml
Komut, adlı yeni bir dosya oluşturur. .golangci.yml geçerli dizininizde. Projeniz için linter'ı yapılandırmak üzere bu dosyayı düzenlemeye devam edebilirsiniz.
İşte o içeriği .golangci.yml komutu çalıştırdığınızda dosya:
Dosya, hakkında bilgi içerir. golangci tüyü aracı ve listeleme işleminizi yapılandırmak için kullanabileceğiniz seçenekler.
Programınız için astarlama kurallarını eklemek üzere dosyayı düzenlemeniz gerekecek. Mevcut linterlerin tam listesini şu adreste bulabilirsiniz: golangci-tüysüz Linterler dokümantasyon sayfası. Veya çalıştırabilirsiniz yardım linçleri komut satırınızdaki linterleri görüntülemek için komut:
golangci-tiftik yardım linterleri
Komut, yüklediğiniz paketin sürümü için mevcut olan tüm Linters'ı verir.
Linter'i Çalıştırmak
İşte aşağıdaki "Merhaba Dünya!" kullanan program net/http paket:
paket ana
içe aktarmak (
"fmt"
"ağ/http"
)işlevişleyici(http ile. ResponseWriter, r *http. Rica etmek) {
fmt. Fprintf (w, "Selam Dünya!")
}
işlevana() {
http. HandFunc("/", işleyici)
http. dinleve sun(":8080", sıfır)
}
Bu program tanımlar işleyici yazar ve istek örneklerini alan işlev http paketin Yanıt Yazarı Ve Rica etmek yapı türleri. bu işleyici işlevi "Merhaba Dünya!" istek üzerine müşteriye.
bu ana işlevi bağlar / rota işleyici işlevi ve Dinle ve Sun işlev, sunucuyu localhost bağlantı noktasında başlatır 8080.
bu Dinle ve Sun işlev bir hata döndürür, ancak program bunu yok sayar. Bu yapılandırma, linter'in sorunu vurgulamasını sağlayacaktır:
linter ayarları:
ölü kod:
# tüm test dosyalarını yoksay
atlama dosyaları: "_test\\.go$"
:
# gölgeleme kontrolünü devre dışı bırak
kontrol gölgeleme: YANLIŞ
:
# dışa aktarılan işlev adlarıyla ilgili hataları yoksay
dışla-kullan-varsayılan-ihraç: doğru
# içindeki alt çizgilerle ilgili hataları yoksay paket isimler
Yararsız adlandırmayı hariç tut: doğru
:
# yavaş oldukları ve üretebildikleri için gosec testlerini devre dışı bırakın YANLIŞ pozitifler
testler: YANLIŞ
kullanılmamış:
# kullanılmayan işlev bağımsız değişkenlerini rapor edin, ancak kullanılmayan değişkenleri rapor etmeyin
kontrol dışa aktarıldı: doğru
boş onay: doğru
kontrol testleri: doğru
Bu linter yapılandırmasını ayarladıktan sonra, linter'i şu komutla çalıştırabilirsiniz: koşmak emretmek:
golangci-tiftik koşusu
# eşdeğer, tüm programları çalıştırır
golangci-tiftik çalıştırma ./...
Alternatif olarak, dosya adını veya yolu belirterek belirli dosyaları dizebilirsiniz. koşmak emretmek:
golangci-lint run dir1 dir2/... dizin3/dosya1.go
İşte linter'i programa karşı çalıştırmanın sonucu:
bu golangci tüyü araç çok yönlüdür ve yapılandırmanız projenize göre değişir.
JavaScript Projelerinizi ESLint İle Lint Edebilirsiniz
Linting, popüler bir yazılım geliştirme görevidir ve çoğu programlama dili ve IDE, linting programları için araçlar sağlar. JavaScript için ESLint en popüler linterdir.
Eslint, CLI, IDE ve metin düzenleyici araçlarında endüstri standartlarını takip eden birden fazla linting kuralı sağlayarak, linting aracını JavaScript geliştiricileri için mükemmel bir seçim haline getirir.