Kerajaan yang luar biasa
Daftar linter yang luar biasa yang digerakkan oleh komunitas.
Kode Linters adalah program yang melakukan analisis statis pada kode Anda. Mereka memeriksa kode Anda untuk kesalahan umum dan gaya/praktik pengkodean yang buruk sehingga membantu Anda menangkap kesalahan sebelum kompilasi/interpretasi dan memaksa Anda dan tim Anda untuk menjaga gaya kode yang konsisten dalam suatu proyek.
Sebagian besar linter dalam daftar ini memiliki plugin yang tersedia untuk editor dan IDE teks populer dan cukup mudah untuk diatur dan diotomatisasi (melalui kait pra-komit atau layanan CI misalnya).
Proyek ini tidak tertutup untuk analisis statis yang sebenarnya. Dengan repositori ini kami bermaksud memiliki sumber informasi untuk semua hal yang terkait dengan analisis statis kode. Dengan ini, kami maksudkan bahwa artikel, pembicaraan atau sumber daya lain yang terkait dengan topik ini akan diterima serta tautan yang terkait dengan linter yang sebenarnya.
Isi
Linters
- Agnostik bahasa
- Semu
- Daftar yang luar biasa
- C/C ++
- CoffeeScript
- Kristal
- CSS
- CSV
- Anak panah
- Dockerfile
- Eliksir
- Elm
- Bahasa inggris
- Env
- Epub
- Erlang
- Pergi
- Graphql
- Groovy
- Haskell
- Haxe
- Html
- Jawa
- Javascript
- Kotlin
- Lua
- Penurunan harga
- NPM
- Objektif-C
- Perl
- Php
- Polimer
- Pug
- Wayang
- Python
- Rego
- Restrukturisasiteks
- Rubi
- Karat
- Saltstack
- Kelancangan
- Scala
- Kerang
- SQL
- Cepat
- Naskah
- Yaml
Pedoman Kontribusi
Kontributor
Linters
Agnostik bahasa
- COALA - Bahasa Agnostik Linter Berdasarkan aturan dan standar. Ditulis dalam Python.
- CommitLint - CommitLint memeriksa apakah pesan komit Anda memenuhi format komit konvensional.
- Megalinter - agregator linters dari 49 bahasa, 22 format, 21 format perkakas, copy -pastes dan mantra. Dapat secara otomatis menerapkan perbaikan dengan komit atau permintaan tarik
- ScanMyCode CE (Edisi Komunitas) - Pemindaian kode/analisis SAST/statis/serat menggunakan banyak alat/pemindai dengan satu laporan.
- Tidyall-Kode all-in-one Tidier dan Validator dengan banyak backend yang tersedia, caching, penyaringan demi path, dan beberapa fitur lainnya.
- Pelanggaran -Lib - Perpustakaan untuk Parsing Laporan dari Analisis Kode Statis. Dapat digunakan dengan alat Jenkins, Gradle, Maven dan Command Line.
Semu
- Ansible -Lint - Memeriksa buku pedoman untuk praktik dan perilaku yang berpotensi ditingkatkan
Daftar yang luar biasa
- Awesome -Lint - linter untuk daftar yang luar biasa. Membantu membuat dan memelihara daftar yang luar biasa. Ditulis dalam JavaScript.
C/C ++
- Kode Cloud -Format - Format C/C ++ Menurut gaya pengkodean (Google, LLVM, Mozilla, Webkit, dan Chromium tersedia)
- Clang-Tidy-Alat C/C ++ Linter berbasis dentang untuk memberikan kerangka kerja yang dapat diperluas untuk mendiagnosis dan memperbaiki kesalahan pemrograman yang khas
- CPPCHECK - CPPCHECK adalah alat analisis statis untuk kode C/C ++. Ini memberikan analisis kode yang unik untuk mendeteksi bug dan berfokus pada mendeteksi perilaku yang tidak terdefinisi dan konstruksi pengkodean berbahaya. Tujuannya adalah untuk mendeteksi hanya kesalahan nyata dalam kode (yaitu memiliki sangat sedikit positif palsu).
- CPPLINT - Pemeriksa Kode Sumber untuk file C/C ++ mengikuti panduan gaya C ++ internal Google.
- Oclint - Analisis statis untuk C, C ++ dan Objective -C. Ditulis dalam C ++.
- Uncrustify - Kode Kode Sumber untuk C, C ++, C#, Objective, D, Java, Pawn dan Vala.
CoffeeScript
- @Coffelint/CLI - Linter yang dapat dikonfigurasi ditulis dalam Coffescript untuk menganalisis Coffescript.
Kristal
- AMEBA - Alat Analisis Kode Statis untuk Crystal.
CSS
- CSSLINT - Analisis statis CSS ditulis dalam JavaScript. Menggunakan aturan pluggable.
- CSSCOMB - Alat CSS yang mempercantik CSS berdasarkan konfigurasi. Membantu menjaga CSS konsisten. Ditulis dalam JavaScript.
- IE8LINER - Analisis statis untuk kompatibilitas Internet Explorer 8. Ditulis dalam JavaScript.
- PostCSS-BEM-LINTER-Plugin untuk PostCSS ke Lint CSS menurut Bem-style . Ditulis dalam JavaScript.
- Stylelint - CSS Linter yang tidak teropini, mendukung plugin dan memiliki berbagai aturan bawaan. Ditulis dalam JavaScript, ini diuraikan secara default sintaksis seperti CSS seperti SCSS, Sass, Less dan Sugarss.
CSV
- csvlint.rb - Permata di belakang http://csvlint.io.
Anak panah
- LINTER - LINTER UNTUK DART Sebagian besar berfokus pada serat gaya. Ini dapat dikonfigurasi tetapi dilengkapi dengan aturan yang dikonfigurasi di luar kotak. Ditulis di DART.
Dockerfile
- Dockerfile_lint - aturan berbasis linter untuk dockerfile. Aturan linter dapat digunakan untuk memeriksa sintaks file serta atribut semantik dan praktik terbaik yang ditentukan oleh penulis file aturan. Linter juga dapat digunakan untuk memeriksa aturan label terhadap gambar Docker.
- DockerFilelint DockerFilelint adalah modul node yang menganalisis Dockerfile dan mencari perangkap, kesalahan, dan membantu praktik terbaik yang umum
- Alat Dockerlint Linting untuk DockerFiles berdasarkan rekomendasi dari Referensi DockerFile dan Praktik Terbaik untuk Menulis DockerFiles pada Docker 1.6.
- Hadolint - linter untuk DockerFiles. Linter mem -parsing dockerfile menjadi AST dan melakukan aturan di atas AST. Itu berdiri di pundak kerang untuk meletakkan kode bash di dalam instruksi jalankan.
Eliksir
- CREDO - Alat Analisis Kode Statis untuk Bahasa Elixir dengan fokus pada konsistensi dan pengajaran kode.
Elm
- ELM -Review - Menganalisis seluruh proyek ELM, dengan fokus pada aturan yang dapat dibagikan dan khusus yang ditulis di ELM yang menambahkan jaminan kompiler ELM tidak memberi Anda.
Bahasa inggris
- Alex - linter untuk membantu menangkap tulisan yang tidak sensitif dalam bahasa Inggris. Ditulis dalam JavaScript.
- Proselint - linter untuk bahasa Inggris yang memberikan pedoman untuk membuat tulisan yang lebih baik. Ini memiliki plugin untuk beberapa editor dan dapat dikonfigurasi.
- TextLint - Alat serat pluggable untuk teks bahasa alami.
Env
- dotenv-linter-⚡️ Linter yang lebih cepat untuk file
.env . Ditulis dengan karat?
Epub
- EPUBCHECK - Alat untuk memvalidasi kesesuaian publikasi EPUB terhadap spesifikasi EPUB. Dapat dijalankan sebagai alat baris perintah mandiri atau digunakan sebagai perpustakaan Java.
Erlang
- Elvis - Erlang linter yang dapat dikonfigurasi ditulis di Erlang.
Pergi
- 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.
- Golint - Go Style Linter ditulis dalam go. Fokus dengan gaya pengkodean lebih dari dengan kebenaran.
- Gometalinter - Jalankan alat lint dan normalisasi output mereka.
- Go Vet - Memeriksa kode sumber Go dan melaporkan konstruksi yang mencurigakan.
Graphql
- GraphQL-Schema-Linter-Validasi definisi skema graphql terhadap serangkaian aturan.
Groovy
- NPM-GROOVY-LINT-Validasi, format, dan file groovy, jenkinsfile dan lulusan otomatis
Haskell
- HLINT - Alat untuk menyarankan kemungkinan perbaikan pada kode Haskell. Saran -saran ini mencakup ide -ide seperti menggunakan fungsi alternatif, menyederhanakan kode dan melihat redudansi.
Haxe
- Haxe -checkstyle - Haxe CheckStyle adalah alat analisis statis untuk membantu pengembang menulis kode haxe yang melekat pada standar pengkodean.
Html
- htmlhint - htmlhint adalah alat analisis kode statis untuk HTML, Anda dapat menggunakannya dengan IDE atau dalam sistem build.
- HTML -Validate - Validator offline HTML5. Memvalidasi dokumen lengkap atau template yang lebih kecil (tidak lengkap).
- BootLint - BootLint adalah alat yang memeriksa beberapa kesalahan HTML umum di halaman web yang menggunakan bootstrap.
- Jinjalint - Linter prototipe yang memeriksa indentasi dan kebenaran templat seperti jinja/html. Juga mendukung templat Django.
- Linthtml - linthtml adalah garpu htmllint. Dapat diperpanjang melalui plugin.
- Nu HTML Checker - Versi offline dari validator resmi W3C untuk HTML, CSS, dan SVG. Ditulis dalam Java.
Jawa
- CheckStyle - CheckStyle adalah alat pengembangan untuk membantu pemrogram menulis kode java yang melekat pada standar pengkodean.
- FindBugs - Menggunakan analisis statis untuk mencari bug dalam kode java.
- PMD - penganalisa statis yang menemukan kelemahan pemrograman umum. Ini mendukung Java, JavaScript, Salesforce.com Apex, PLSQL, Apache Velocity, XML, XSL.
- Uncrustify - Kode Kode Sumber untuk C, C ++, C#, Objective, D, Java, Pawn dan Vala.
Javascript
- Clinton - JavaScript Project Style Linter.
- ESLINT - Alat yang sepenuhnya dapat dicolokkan untuk mengidentifikasi dan melaporkan pola dalam JavaScript.
- JShint - Alat berbasis komunitas yang mendeteksi kesalahan dan potensi masalah dalam kode JavaScript.
- Prettier - Formatter JavaScript yang diilhami oleh REFMT dengan dukungan canggih untuk fitur bahasa dari ES2017, JSX, dan Flow.
- Putout - linter yang memperbaiki semua yang dapat ditemukannya, mendukung JS/TS/Flow dan Wrap Eslint (ketika
eslintrc ada). - Quick-Lint-Js-Menemukan bug dalam program JavaScript. Dirancang untuk editor.
- Standard - JavaScript gaya linter yang tidak memungkinkan konfigurasi.
- XO - Wrapper ESLINT yang memiliki pendapat tetapi dapat dikonfigurasi dengan banyak barang termasuk. Menegakkan kode yang ketat dan dapat dibaca.
Kotlin
- KTLINT-Kotlin linting anti-bikeshedding dengan formatter bawaan
Lua
- LUACHECK - Alat untuk analisis linting dan statis kode LUA.
- LualInt - LualInt melakukan analisis statis berbasis LUAC dari penggunaan variabel global dalam kode sumber LUA.
Penurunan harga
- MarkDownLint - Pemeriksa Gaya Node.js dan alat serat untuk file Markdown/Commonmark.
- MDL - Periksa file Markdown dan masalah gaya bendera. Ditulis dalam Ruby dan didistribusikan sebagai rubygem.
- Promes -Lint - Ditulis dalam JavaScript. Promes-Lint menyediakan gaya penurunan gaya markdown yang dapat dikonfigurasi.
NPM
- Lockfile -Lint - Lint NPM atau Lockfile Benang untuk menganalisis dan mendeteksi masalah keamanan.
- NPM-PACKAGE-JSON-LINT-LINTER yang dapat dikonfigurasi untuk menegakkan standar dalam file NPM Package.json.
Objektif-C
- OCLINT - Alat Analisis Kode Sumber Statis untuk meningkatkan kualitas dan mengurangi cacat untuk C, C ++ dan Objective -C. Ditulis dalam C ++.
- Uncrustify - Kode Kode Sumber untuk C, C ++, C#, Objective, D, Java, Pawn dan Vala.
Openapi (Swagger)
- Speccy - Toolkit praktis untuk OpenAPI, dengan linter untuk menegakkan aturan kualitas.
Perl
- Perlcritic - Penganalisa statis terkemuka untuk Perl. Dapat dikonfigurasi, dapat diperluas, kuat.
- Perltidy - Autoformatter/Beautifier Kode Perl.
Php
- PHPLINT - Node Wrapper di sekitar linter PHP asli yang memungkinkan untuk serat dan integrasi paralel dengan sistem build seperti Grunt, Gulp dan banyak lagi.
- PHP Mess Detector - PHPMD dapat dilihat sebagai ramah pengguna dan mudah dikonfigurasi Frontend untuk metrik mentah yang diukur dengan PHP tergantung.
Polimer
- Polylint - Tangkap kesalahan dalam proyek polimer Anda sebelum bahkan menjalankan kode Anda. Ditulis dalam naskah.
Pug
- PUG-LINT-Linter dan Gaya Pemeriksa yang belum teropini dan dapat dikonfigurasi untuk Pug (sebelumnya Jade)
Wayang
- Boneka -Lint - Modul Uji dan Manifests Menentang Pedoman Gaya Boneka yang Disarankan dari Panduan Gaya Boneka Lab. Ditulis dalam Ruby.
Python
- Hitam - Formatter Kode Python tanpa kompromi. Kode yang menghitam terlihat sama terlepas dari proyek yang Anda baca.
- Flake8 - Menjalankan Pyflakes, Pycodestyle, dan alat -alat lain dari hanya satu CLI. Ditulis dalam Python.
- Pycodestyle (sebelumnya disebut PEP8) - Alat untuk memeriksa kode Python Anda terhadap beberapa konvensi gaya di Pep 8.
- Pylint - Sumber Code Analyzer yang mencari kesalahan pemrograman, membantu menegakkan standar pengkodean dan mengendus untuk beberapa bau kode.
- Ruff - Linter Python yang sangat cepat, ditulis dalam karat yang lebih cepat lebih cepat daripada alat alternatif sambil mengintegrasikan lebih banyak fungsi di balik antarmuka tunggal yang umum.
- Wemake-Python-Styleguide-Linter Python yang paling ketat dan paling banyak berpendapat.
- Yala - Yala menggabungkan banyak linter untuk meningkatkan kualitas kode Anda.
Rego
- Regal - Regal adalah linter untuk bahasa kebijakan Rego. Regal bertujuan untuk menangkap bug dan kesalahan dalam kode kebijakan, sementara pada saat yang sama membantu orang belajar bahasa, praktik terbaik, dan konstruksi idiomatik.
Restrukturisasiteks
- DOC8 - DOC8 adalah pemeriksa gaya yang bertentangan untuk gaya dokumentasi pertama (dengan dukungan dasar untuk teks biasa). Perhatikan, itu tidak mendukung ekstensi sphinx tambahan. Proyek juga tersedia di OpenStack atau GitHub
- RestructuredText Lint - Validasi file istirahat baik sebagai modul atau dari utilitas CLI. Ditulis dalam Python.
Rubi
- Rubocop - Analyzer Kode Statis Ruby. Di luar kotak itu akan menegakkan banyak pedoman yang diuraikan dalam Panduan Gaya Ruby Komunitas.
Karat
- Rust -Clippy - Koleksi serat untuk menangkap kesalahan umum dan meningkatkan kode karat Anda.
Saltstack
- Salt-Lint-Utilitas baris perintah yang memeriksa praktik terbaik di SaltStack.
Kelancangan
- Sass-Lint-Linter Sass hanya node untuk sintaks SASS dan SCSS.
- SCSS -LINT - Alat untuk membantu menjaga file SCSS Anda tetap bersih dan dapat dibaca dengan menjalankannya dengan kumpulan aturan linter yang dapat dikonfigurasi.
- Stylelint - CSS Linter yang tidak teropini, mendukung plugin dan memiliki berbagai aturan bawaan. Ditulis dalam JavaScript, ini diuraikan secara default sintaksis seperti CSS seperti SCSS, Sass, Less dan Sugarss.
Scala
- LINTER - Plugin Compiler Analisis Statis Scala yang menambahkan pemeriksaan waktu kompilasi untuk berbagai kemungkinan bug, inefisiensi, dan masalah gaya.
- Scalastyle - Periksa kode Scala Anda dan menunjukkan potensi masalah dengannya. Mirip dengan CheckStyle untuk Java.
- Scapegoat - Alat serupa lain untuk checkstyle untuk Java. Menandai penggunaan bahasa yang mencurigakan dalam kode.
- Wartremover - Scala linter yang fleksibel dan dapat dikonfigurasi ditulis dalam Scala.
Kerang
- Shellcheck - Memberikan peringatan dan saran untuk skrip shell bash/sh.
- SHFMT-Parser shell (posix shell / bash / mksh), formatter, dan interpreter yang ditulis dalam go 1.13-and-above.
SQL
- SQLFLUFF - SQLFLUFF adalah SQL linter dialek yang fleksibel dan dapat dikonfigurasi.
Cepat
- SwiftLint - Alat untuk menegakkan gaya dan konvensi Swift, secara longgar berdasarkan panduan gaya Swift GitHub.
Naskah
- TSLINT - TypeScript linter yang dapat disesuaikan dengan perbaikan otomatis format dan pelanggaran gaya.
Yaml
- Spectral - linter JSON/YAML yang fleksibel, dengan dukungan di luar kotak untuk OpenAPI V2/V3 dan Asyncapi V2.
- Yamllint - linter untuk file YAML.
Berkontribusi
Kontribusi sangat disambut! Buat permintaan tarik baru, selesaikan bug atau ambil masalah yang saat ini tidak ditugaskan!
Satu -satunya aturan adalah: Tetap teratur.
Kontributor
Terima kasih untuk semua orang yang membantu!
Lisensi
Unlicense