Ligners géniaux
Une liste communautaire de liners impressionnants.
Les linceurs de code sont des programmes qui effectuent une analyse statique sur votre code. Ils vérifient votre code pour des erreurs courantes et un mauvais style de codage / pratiques vous aidant ainsi à attraper des erreurs avant la compilation / l'interprétation et vous forçant, ainsi qu'à votre équipe, à garder un style de code cohérent dans un projet.
La plupart des linceurs de cette liste ont des plugins disponibles pour les éditeurs de texte populaires et les IDE et sont assez faciles à configurer et à automatiser (via un crochet pré-engagé ou un service CI par exemple).
Ce projet n'est pas fermé aux analyseurs statiques réels. Avec ce référentiel, nous avons l'intention d'avoir une ressource d'information pour tout ce qui concerne l'analyse statique du code. Par cela, nous voulons dire que les articles, les pourparlers ou toute autre ressource liés à ce sujet seront les bienvenus ainsi que des liens liés aux liners réels.
Contenu
Linter
Langue agnostique
- Coala - Language Agnostic Linter basé sur les règles et les normes. Écrit en python.
- Commitlint - Commitlint vérifie si vos messages de validation respectent le format de validation conventionnel.
- MEGALINTER - AGLÉGATEURS DE LIGNERS DE 49 langues, 22 formats, 21 formats d'outillage, copies et sort. Peut appliquer automatiquement des correctifs avec une demande de validation ou de traction
- ScanMycode CE (Community Edition) - Code Scanning / Sast / Static Analysis / Linting à l'aide de nombreux outils / scanners avec un seul rapport.
- Tidyall - un code tout-en-un Tider et un validateur avec de nombreux backends disponibles, la mise en cache, le filtrage par chemin et d'autres fonctionnalités.
- Violations-Lib - Une bibliothèque pour analyser les rapports des analyseurs de code statique. Peut être utilisé avec les outils Jenkins, Gradle, Maven et de ligne de commande.
Anable
- ANSIBLE-LINT - Vérifie les livres de jeu pour les pratiques et les comportements qui pourraient potentiellement être améliorés
Listes impressionnantes
- Awesome-lint - Linter pour des listes impressionnantes. Aide à créer et à maintenir des listes impressionnantes. Écrit en javascript.
C / C ++
- Clang-Format - Formats C / C ++ Code Selon un style de codage (Google, LLVM, Mozilla, WebKit et Chromium disponibles)
- Clang-Tidy - Un outil C / C ++ Linter basé sur Clang pour fournir un cadre extensible pour diagnostiquer et corriger les erreurs de programmation typiques
- CPPCHECK - CPPCHECK est un outil d'analyse statique pour le code C / C ++. Il fournit une analyse de code unique pour détecter les bogues et se concentre sur la détection d'un comportement non défini et des constructions de codage dangereuses. L'objectif est de détecter uniquement les erreurs réelles dans le code (c'est-à-dire très peu de faux positifs).
- CPPLINT - Vérificateur de code source pour les fichiers C / C ++ suivant le guide de style C ++ interne de Google.
- OCLINT - Analyse statique pour C, C ++ et Objective-C. Écrit en C ++.
- Uncrustify - Code source Embellier pour C, C ++, C #, Objectivec, D, Java, Pawn et Vala.
Cafée
- @ Coffelint / CLI - Linter configurable écrit en Coffescript pour analyser Coffescript.
Cristal
- Ameba - outil d'analyse de code statique pour le cristal.
CSS
- CSSLINT - Analyse statique CSS écrite en JavaScript. Utilise des règles enfichables.
- outil CSSCOMB - CSS qui embellit CSS basé sur une configuration. Aide à maintenir le CSS cohérent. Écrit en javascript.
- IE8LINTER - Analyse statique pour Internet Explorer 8 Compatibilité. Écrit en javascript.
- POSTCSS-BEM-LINTER - PLAND POSTCSS TO Lint CSS selon BEM-Style . Écrit en javascript.
- Stylelint - CSS Linter qui n'est pas opinée, prend en charge les plugins et dispose d'une large gamme de règles intégrées. Écrit en javascript, il analyse les syntaxes de type CSS par défaut telles que SCSS, Sass, moins et sucre.
CSV
- csvlint.rb - Le gemme derrière http://csvlint.io.
Dard
- Linter - Linter pour Dart s'est principalement concentré sur les peluches de style. Il est configurable mais est livré avec des règles configurées hors de la boîte. Écrit en fléchette.
Dockerfile
- dockerfile_lint - Linter basé sur des règles pour dockerfiles. Les règles Linter peuvent être utilisées pour vérifier la syntaxe des fichiers ainsi que les attributs sémantiques et meilleures arbitraires déterminés par l'écrivain de fichier de règles. Le linter peut également être utilisé pour vérifier les règles d'étiquette par rapport aux images Docker.
- Dockerfilelint dockerfilelint est un module de nœud qui analyse un dockerfile et recherche des pièges communs, des erreurs et aide à appliquer les meilleures pratiques
- Outil de liaison dockerlint pour dockerfiles basé sur les recommandations de la référence DockerFile et les meilleures pratiques pour écrire Dockerfiles à partir de Docker 1.6.
- Hadolint - Linter pour Dockerfiles. Le linter analyse le dockerfile dans un AST et effectue des règles en plus de l'AST. Il se tient sur les épaules de Shellcheck pour peindre le code bash dans les instructions d'exécution.
Élixir
- CREDO - outil d'analyse de code statique pour la langue élixir en mettant l'accent sur la cohérence du code et l'enseignement.
Orme
- Elm-Review - analyse des projets Elm entiers, en mettant l'accent sur les règles partageables et personnalisées écrites dans l'ELM qui ajoutent des garanties que le compilateur ELM ne vous donne pas.
Anglais
- Alex - Linter pour aider à attraper une écriture insensible en anglais. Écrit en javascript.
- Proselint - Linter pour l'anglais qui fournit des lignes directrices pour faire une meilleure écriture. Il a des plugins pour plusieurs éditeurs et est configurable.
- Textlint - L'outil de liaison enfichable pour les textes en langage naturel.
Env
- Dotenv-Linter - ⚡️ Light-Fast Linter pour les fichiers
.env . Écrit en rouille?
Époule
- EPUBCHECK - Un outil pour valider la conformité des publications EPUB contre les spécifications EPUB. Peut être exécuté en tant qu'outil de ligne de commande autonome ou utilisé comme bibliothèque Java.
Erlang
- Elvis - Erlang configurable Linter écrit en erlang.
Aller
- Golangci-lint - Liners Runner pour Go. 5x plus rapide que Gometaliner. Belle sortie colorée. Ne peut signaler que de nouveaux problèmes. Moins de faux positifs. YAML / TOML Config.
- Golint - GO Style Linter écrit en Go. Focus avec les styles de codage plus qu'avec l'exactitude.
- Gometalinter - Exécutez simultanément des outils de peluche Go et normalisez leur sortie.
- GO VET - Examine le code source GO et rapporte des constructions suspectes.
Graphique
- GraphQL-Schema-Linter - Valider les définitions de schéma GraphQL par rapport à un ensemble de règles.
Grain
- NPM-Groovy-lint - Valider, Format et Auto-Fix Groovy, JenkinsFile et Gradle Files
Haskell
- Hlint - outil pour suggérer des améliorations possibles au code Haskell. Ces suggestions incluent des idées telles que l'utilisation de fonctions alternatives, la simplification du code et les redondances de repérage.
Haxe
- Haxe-Checkstyle - Haxe Checkstyle est un outil d'analyse statique pour aider les développeurs à écrire du code HAXE qui adhère à une norme de codage.
Html
- HTMLHINT - HTMLHINT est un outil d'analyse de code statique pour HTML, vous pouvez l'utiliser avec IDE ou dans le système de construction.
- HTML-VALIDAD - Validateur HTML5 hors ligne. Valide soit un document complet, soit un modèle plus petit (incomplet).
- bootLint - bootlint est un outil qui vérifie plusieurs erreurs HTML courantes dans les pages Web qui utilisent Bootstrap.
- Jinjalint - un prototype de linter qui vérifie l'indentation et l'exactitude des modèles de type Jinja / HTML. Prend également en charge les modèles Django.
- Linthtml - lindthtml est une fourche de htmllint. Il est extensible via des plugins.
- Nu HTML Checker - Une version hors ligne du validateur officiel de W3C pour HTML, CSS et SVG. Écrit en java.
Java
- CheckStyle - CheckStyle est un outil de développement pour aider les programmeurs à écrire du code Java qui adhère à une norme de codage.
- FindBugs - utilise une analyse statique pour rechercher des bogues dans le code Java.
- PMD - Analyseur statique qui trouve des défauts de programmation courants. Il prend en charge Java, Javascript, Salesforce.com Apex, PLSQL, Apache Velocity, XML, XSL.
- Uncrustify - Code source Embellier pour C, C ++, C #, Objectivec, D, Java, Pawn et Vala.
Javascrip
- Clinton - JavaScript Project Style Linter.
- ESLINT - Outil entièrement enfige pour identifier et rendre compte des modèles en JavaScript.
- Jshint - outil axé sur la communauté qui détecte les erreurs et les problèmes potentiels dans le code JavaScript.
- plus joli - Fondeur JavaScript d'opinion inspiré de Refmt avec une prise en charge avancée pour les fonctionnalités linguistiques de ES2017, JSX et Flow.
- Putout - Linter qui corrige tout ce qu'il peut trouver, prend en charge JS / TS / Flow et Wrap Eslint (lorsque
eslintrc existe). - Quick-lint-js - trouve des bogues dans les programmes JavaScript. Conçu pour les éditeurs.
- Standard - Linter de style JavaScript qui ne permet aucune configuration.
- XO - Emballage Eslint d'opinion mais configurable avec beaucoup de goodies inclus. Applique un code strict et lisible.
Kotlin
- KTLINT - Un Kotlin Linter anti-bikeshedding avec un formateur intégré
Lua
- Luacheck - Un outil de libellé et d'analyse statique du code LUA.
- LualInt - LualInt effectue une analyse statique basée sur LUAC de l'utilisation des variables globales dans le code source LUA.
Réduction
- Markdownlint - vérificateur de style Node.js et outil de peluche pour les fichiers Markdown / Commonmark.
- MDL - Vérifiez les fichiers de marque et les problèmes de style de signalisation. Écrit en rubis et est distribué en Rubygem.
- Remarque-lint - Écrit en javascript. Remark-lint fournit une lie de style de démarque configurable.
NPM
- LockFile-lint - peluche d'un NPM ou du fil de verrouillage du fil pour analyser et détecter les problèmes de sécurité.
- NPM-Package-Json-lint - Linter configurable pour appliquer les normes dans les fichiers NPM package.json.
Objectif-c
- OCLINT - outil d'analyse de code source statique pour améliorer la qualité et réduire les défauts de C, C ++ et Objective-C. Écrit en C ++.
- Uncrustify - Code source Embellier pour C, C ++, C #, Objectivec, D, Java, Pawn et Vala.
Openapi (fanfaronnade)
- Speccy - une boîte à outils pratique pour OpenAPI, avec un linter pour appliquer les règles de qualité.
Perler
- Perlcritic - le principal analyseur statique de Perl. Configurable, extensible, puissant.
- Perltidy - un code Autoforatter / embellissement du code Perl.
Php
- PHPLINT - Emballage de nœuds autour du linter PHP natif qui permet une lie parallèle et une intégration avec des systèmes de construction comme Grunt, Gulp et plus encore.
- PHP Mess Detector - PHPMD peut être considéré comme un frontend convivial et facile à configurer pour les métriques brutes mesurées par PHP.
Polymère
- Polylint - Catch des erreurs dans votre projet polymère avant même d'exécuter votre code. Écrit en dactylographie.
Carlin
- PUG-LINT - Un vérificateur de linter et de style sans opinion et configurable pour PUG (anciennement Jade)
Fantoche
- Puppet-lint - Modules de test et manifestes par rapport aux directives de style de marionnettes recommandées du Guide de style Puppet Labs. Écrit en rubis.
Python
- Black - Le formateur de code Python sans compromis. Le code noirci a la même apparence quel que soit le projet que vous lisez.
- Flake8 - Exécute des pyflakes, du pydéserie et d'autres outils d'un seul CLI. Écrit en python.
- Pyodestyle (anciennement appelé PEP8) - Tool pour vérifier votre code Python par rapport à certaines des conventions de style de PEP 8.
- Pylint - Analyseur de code source qui recherche des erreurs de programmation, aide à appliquer une norme de codage et à renifler pour certaines odeurs de code.
- RUFF - Un linter python extrêmement rapide, écrit en rouille qui est plus rapide des ordres de grandeur que les outils alternatifs tout en intégrant plus de fonctionnalités derrière une seule interface commune.
- Wemake-Python-Styleguide - Le Linter Python le plus strict et le plus avisé de tous les temps.
- Yala - Yala combine de nombreux liners pour améliorer la qualité de votre code.
Rego
- Regal - Regal est un linter pour le langage politique Rego. Regal vise à attraper des bogues et des erreurs dans le code politique, tout en aidant les gens à apprendre la langue, les meilleures pratiques et les constructions idiomatiques.
texte restructuré
- DOC8 - DOC8 est un vérificateur de style d'opinion pour les styles de documentation de la première fois (avec support de base pour le texte brut). Remarquez, il ne prend pas en charge les extensions de sphinx supplémentaires. Le projet est également disponible sur OpenStack ou GitHub
- RestructuredText Lint - Valider les fichiers REST soit en tant que module, soit à partir d'un utilitaire CLI. Écrit en python.
Rubis
- RUBOCOP - RUBY STATIC CODE Analyzer. Hors de la boîte, il appliquera de nombreuses directives décrites dans le Guide de style Ruby Community.
Rouiller
- Rust-Clippy - Collection de peluches pour attraper des erreurs courantes et améliorer votre code de rouille.
Coup de salon
- Salt-lint - Un utilitaire de ligne de commande qui vérifie les meilleures pratiques dans Saltstack.
Toupet
- SASS-lint - Linter SASS de nœud uniquement pour la syntaxe SASS et SCSS.
- SCSS-lint - outil pour aider à garder vos fichiers SCSS propres et lisibles en l'exécutant par rapport à une collection de règles de linter configurables.
- Stylelint - CSS Linter qui n'est pas opinée, prend en charge les plugins et dispose d'une large gamme de règles intégrées. Écrit en javascript, il analyse les syntaxes de type CSS par défaut telles que SCSS, Sass, moins et sucre.
Scala
- Linter - Plugin de compilateur d'analyse statique Scala qui ajoute des vérifications de compilation pour divers bogues, inefficacités et problèmes de style possibles.
- Scalastyle - examine votre code Scala et indique des problèmes potentiels avec. Semblable à CheckStyle pour Java.
- bouc émissaire - Un autre outil similaire à CheckStyle pour Java. Facitèces sur l'utilisation suspecte de la langue dans le code.
- WARTREMOVER - Scala Linter flexible et configurable écrit en scala.
Coquille
- ShellCheck - donne des avertissements et des suggestions pour les scripts de coquille bash / sh.
- SHFMT - Une coquille (POSIX Shell / Bash / Mksh) analyseur, format et interprète écrite en GO 1.13 et-Above.
SQL
- SQLFluff - Sqlfluff est un Linter SQL flexible et configurable.
Rapide
- Swiftlint - outil pour appliquer le style et les conventions Swift, basé sur le guide de style Swift de Github.
Manuscrit
- Tslint - Linter de type personnalisable avec fixation automatique des violations de former et de style.
Yaml
- Spectral - Un Linter JSON / YAML flexible, avec la prise en charge de la boîte pour OpenAPI V2 / V3 et AsyncAPI V2.
- Yamllint - Linter pour les fichiers YAML.
Contributif
Les contributions sont les bienvenues! Créez une nouvelle demande de traction, résolvez un bogue ou saisissez un problème actuellement non assisté!
La seule règle est la suivante: continuez à l'organiser.
Contributeurs
Merci à tous ceux qui ont aidé!
Licence
licence