Linters yang luar biasa
Daftar linter go yang mengagumkan.
Disponsori oleh Golangci: Layanan SaaS untuk menjalankan Linters pada permintaan tarik GitHub. Gratis untuk open source.

Isi
- Linters cloud
- Menjadi fokus
- Tujuan umum
- Linters
- Pemformatan kode
- Kompleksitas kode
- Pemeriksaan Gaya dan Pola
- Serangga
- Kode yang tidak digunakan
- Pertunjukan
- Laporan
- Misc
- Alat Pembantu Linters
Linters cloud
Menjadi fokus
- Golangci - Layanan SaaS open source untuk menjalankan linter pada permintaan tarik github. Gratis untuk open source.
- Golint Online - File Sumber Go Online di GitHub, Bitbucket dan Google Project Hosting Menggunakan Paket Golint.
- GOPERCI - Gopherci membantu Anda mempertahankan proyek GO berkualitas tinggi, dengan memeriksa setiap permintaan tarikan GitHub, untuk perubahan yang tidak kompatibel ke belakang, dan serangkaian tes lainnya.
- GO Report Card - Kartu Laporan Repo GO.
Tujuan umum
- Codeclimate - Platform analisis statis yang terbuka dan dapat diperluas.
- Codefactor - Analisis kode otomatis untuk repo di github atau bitbucket.
- HoundCI - Alat Tinjauan Kode untuk Permintaan Tarik GitHub
- Kode Kodefikal - Tinjauan & Perbaikan Kode Otomatis
- Pengawas - Pemeriksa Kualitas Kode Kepemilikan yang dapat diintegrasikan dengan GitHub
- Sideci - Alat peninjauan kode otomatis. Meningkatkan produktivitas pengembang.
Linters
Pemformatan kode
- DedupImport - Perbaiki impor duplikat yang memiliki jalur impor yang sama tetapi nama impor yang berbeda.
- GOFMT - Program GO GOFMT GO. Harus dimiliki untuk setiap proyek. Jangan lupa menggunakan bendera -s.
- Gofumpt - Alat ini adalah garpu yang dimodifikasi dari GoFMT, menegakkan format yang lebih ketat daripada GOFMT, sambil kompatibel ke belakang.
- GoImports - GoImports melakukan semua yang dilakukan GoFMT. Selain itu ia memeriksa impor yang tidak digunakan.
- Unindent - Kode Laporan yang tidak perlu di -indentasi
Kompleksitas kode
- ABCGO - ABC Metrics for Go Source Code.
- Kedalaman - Hitung MaxDepth Fungsi GO. Sangat membantu untuk melihat apakah suatu fungsi perlu dipisahkan menjadi beberapa fungsi yang lebih kecil, untuk tujuan keterbacaan.
- Funlen - linter yang memeriksa fungsi panjang. Itu dapat memeriksa jumlah baris dan jumlah pernyataan.
- GOCYCLO - Menghitung dan memeriksa kompleksitas fungsi siklomatik.
- Nakedret - Nakedret adalah alat analisis statis go untuk menemukan pengembalian telanjang dalam fungsi yang lebih besar dari panjang fungsi yang ditentukan.
- Splint - Ia menemukan fungsi apa pun yang terlalu panjang atau memiliki terlalu banyak parameter atau hasil.
Pemeriksaan Gaya dan Pola
- Dogled - Menemukan tugas/deklarasi dengan terlalu banyak pengidentifikasi kosong.
- DUPL - Alat untuk Deteksi Klon Kode.
- Go -checkstyle - CheckStyle adalah alat pemeriksaan gaya seperti Java CheckStyle. Alat ini terinspirasi oleh Java CheckStyle, Golint. Gaya mengacu pada beberapa titik dalam komentar tinjauan kode Go.
- Go-Cleanarch-Go-Cleanarch diciptakan untuk memvalidasi aturan arsitektur yang bersih, seperti aturan ketergantungan dan interaksi antara paket dalam proyek GO Anda.
- GO -Consistent - Penganalisa kode sumber yang membantu Anda membuat program GO Anda lebih konsisten.
- Go -Namecheck - Penganalisa kode sumber yang membantu Anda mempertahankan konvensi penamaan variabel/bidang di dalam proyek Anda.
- go-printf-func-name-Periksa apakah fungsi seperti printf dinamai dengan
f
di akhir. - Go-Ruleguard-Tentukan dan jalankan aturan berbasis kustom berbasis pola.
- gochecknoinits - Temukan fungsi init, untuk mengurangi efek samping dalam kode.
- Gochecknoglobals - Temukan VAR global, untuk mengurangi efek samping dalam kode.
- GOCONST - temukan di go string berulang yang bisa diganti dengan konstan.
- Golint - Golint adalah linter untuk kode sumber Go.
- GOSIMPLE - GOSIMPLE adalah linter untuk kode sumber Go yang berspesialisasi pada kode penyederhanaan.
- Impi - Verifikasi Pengelompokan dan Pemesanan Impor.
- Interfacer - linter yang menunjukkan jenis antarmuka yang lebih sempit.
- LLL - LINE LING LINTER, Digunakan untuk menegakkan panjang garis dalam file.
- Misspell - Menemukan kata -kata bahasa Inggris yang umumnya salah mengeja
- Nofuncflags - Larang Boolean Params ke Fungsi (Flags).
- Pra -pre -clared - Temukan kode yang dibayarkan oleh pengidentifikasi bawaan GO (misalnya,
append
, copy
, int
). - Revive - ~ 6x lebih cepat, lebih ketat, dapat dikonfigurasi, perluasan, dan penggantian drop -in yang indah untuk Golint
- Unconvert - Hapus konversi tipe yang tidak perlu dari sumber go.
- UsedExports - Temukan variabel yang diekspor GO yang bisa tidak diekspor.
- Whitespace - Periksa Newline yang tidak perlu di awal dan akhir fungsi
Serangga
- Apicompat - Memeriksa perubahan terbaru pada proyek GO untuk perubahan yang tidak kompatibel.
- Badtime - Badtime adalah linter golang yang mendeteksi penggunaan waktu yang tidak pantas. Waktu struct.
- BodyClose - Memeriksa apakah badan respons HTTP ditutup dan penggunaan kembali koneksi TCP tidak diblokir
- Durcheck - Durcheck adalah linter yang sangat sederhana yang mendeteksi bug potensial dengan waktu. Durasi dalam paket go.
- Enumcase - Enumcase memeriksa setiap pernyataan sakelar menangani semua nilai const dari tipe.
- Enumlinter - enum linter untuk tipe yang disebutkan di Go.
- Errcheck - Errcheck adalah program untuk memeriksa kesalahan yang tidak dicentang dalam program GO.
- Gas - Periksa kode sumber untuk masalah keamanan dengan memindai go ast.
- Go Vet - Vet memeriksa kode sumber Go dan melaporkan konstruksi yang mencurigakan, seperti panggilan printf yang argumennya tidak selaras dengan string format. Dapat memeriksa bayangan variabel, tetapi harus diaktifkan secara eksplisit.
- Gosumcheck - Memeriksa semua kasus yang mungkin dari tipe -switch ditangani.
- Go-SUMTYPE-Periksa semua kemungkinan kasus tipe-switch ditangani.
- Mulint - Go Lint yang mendeteksi kunci rekursif, yang dapat menyebabkan kunci mati.
- Safesql - Alat analisis statis untuk golang yang melindungi terhadap suntikan SQL.
- Scopelint - Memeriksa Scopelint untuk variabel yang tidak dimasukkan dalam program GO.
- SQLROWS - Memeriksa apakah dekat di SQL.Rows dipanggil.
- StaticCheck - StaticCheck adalah
go vet
pada steroid, menerapkan satu ton pemeriksaan analisis statis yang mungkin Anda gunakan dari alat -alat seperti Resharper untuk C#.
Kode yang tidak digunakan
- DeadCode - Menemukan kode yang tidak digunakan.
- Ineffassign - Deteksi ketika penugasan untuk variabel yang ada tidak digunakan.
- StructCheck - Temukan variabel dan konstanta global yang tidak digunakan.
- UNPARAM - Laporkan parameter fungsi yang tidak digunakan.
- Tidak digunakan - Cek GO Kode Go untuk konstanta, variabel, fungsi, dan jenis yang tidak digunakan.
- VarCheck - Temukan variabel dan konstanta global yang tidak digunakan.
Pertunjukan
- AlignCheck - Peringatkan tentang struktur yang disejajarkan secara tidak optimal.
- CopyFighter - secara statis menganalisis kode GO dan melaporkan fungsi yang melewati struct besar berdasarkan nilai.
- Malial - Alat untuk mendeteksi go struct yang akan mengambil lebih sedikit memori jika bidangnya diurutkan.
- Prealloc - Temukan deklarasi irisan yang berpotensi dapat ditentukan sebelumnya.
- Rangerdanger - Alat untuk Mendeteksi Pernyataan Rentang Iterasi di atas array yang dapat dialamatkan
Laporan
- Flen - Dapatkan info tentang panjang fungsi dalam paket go.
- Goreporter - Alat Golang yang melakukan analisis statis, pengujian unit, tinjauan kode dan menghasilkan laporan kualitas kode.
- Golinters - Golinters menghasilkan laporan HTML tentang go linters.
Misc
- Go -Outdated - Aplikasi konsol yang menampilkan paket yang sudah ketinggalan zaman.
- Go-Template-Lint-Go-Template-Lint adalah linter untuk file Teks/Templat (dan HTML/Templat).
- GODOX - Temukan semua komentar Todo/FixMe.
- Lingo - Set cek tertentu.
- MEGACHECK - Megacheck menjalankan StaticCheck, Gosimple dan tidak digunakan sekaligus. Karena dapat menggunakan kembali pekerjaan, itu akan lebih cepat daripada menjalankan setiap alat secara terpisah.
- GO -CRITIC - LINTER KODE SUMBER YANG MEMBAYAR Cek yang saat ini tidak diimplementasikan di linter lain.
- TARP - TARP menemukan fungsi dan metode tanpa tes unit langsung dalam kode sumber GO.
- Go -MND - Detektor Nomor Ajaib untuk Go.
- Gocheckit - Alat GO untuk membantu mengidentifikasi modul GO yang sudah usang.
Alat Pembantu Linters
- Golangci -Lint - Pelari Linters untuk Go. 5x lebih cepat dari gometalinter. Output berwarna bagus. Hanya dapat melaporkan masalah baru. Lebih sedikit positive palsu. Konfigurasi YAML/TOML.
- Gometalinter - Metalinter adalah alat untuk secara otomatis menerapkan semua alat analisis statis dan melaporkan outputnya dalam bentuk yang dinormalisasi.
- Lint - Jalankan Linters sebagai bagian dari tes Go.
- RevGrep - Filter Output dari alat analisis statis, hanya menunjukkan garis kode yang baru saja diubah
- ReviewDog - "ReviewDog" menyediakan cara untuk memposting komentar tinjauan ke layanan hosting kode, seperti GitHub, secara otomatis dengan mengintegrasikan dengan alat linter apa pun dengan mudah.
- ZB - linting speedup dengan caching gometalinter hasil.
- Golintui - Terminal UI sederhana untuk go linters.