Потрясающие Линтеры
Основанный на сообществе список потрясающих линтеров.
Линтеры кода - это программы, которые выполняют статический анализ в вашем коде. Они проверяют ваш код на наличие общих ошибок и плохих стилей/практик кодирования/практики, что помогает вам поймать ошибки перед компиляцией/интерпретацией и заставляя вас и вашей команды сохранить постоянный стиль кода в рамках проекта.
Большинство линцов в этом списке имеют плагины, доступные для популярных текстовых редакторов и IDE, и они довольно легко настраивать и автоматизировать (например, через крюк или сервис CI).
Этот проект не закрыт для фактических статических анализаторов. С помощью этого хранилища мы намерены иметь информационный ресурс для всех вещей, связанных со статическим анализом кода. Под этим мы подразумеваем, что статьи, разговоры или любой другой ресурс, связанный с этой темой, будут приветствовать, а также ссылки, связанные с фактическими линтерами.
Содержимое
Линтерс
Языковая агностик
- Коала - Языковой агностик Линтер на основе правил и стандартов. Написано на Python.
- Commitlint - проверка Commitlint, если ваши сообщения о коммите соответствуют обычному формату коммита.
- Megalinter - Агрегатор Linters 49 языков, 22 формата, 21 форматы инструментов, копия и заклинание. Может автоматически применять исправления с помощью запроса Commit или Pult
- Scanmycode CE (сообщество Edition) - Сканирование кода/SAST/Статический анализ/лининг с использованием многих инструментов/сканеров с одним отчетом.
- Tidyall-все в одном код приличный и валидатор со многими доступными бэкэнами, кэшированием, фильтрацией по пробежению и некоторыми другими функциями.
- Нарушения -lib - библиотека для разбора отчетов от анализаторов статического кода. Можно использовать с инструментами Jenkins, Gradle, Maven и Command Line.
Ansible
- Ansible -Lint - проверяет пьесы на практику и поведение, которые могут быть улучшены
Потрясающие списки
- Awesome -Lint - Linter для потрясающих списков. Помогает создавать и поддерживать потрясающие списки. Написано в JavaScript.
C/C ++
- Clang -Format - форматы C/C ++ Code в соответствии со стилем кодирования (Google, LLVM, Mozilla, Webkit и Chromium доступны)
- Clang-Tidy-инструмент Linter на основе Clang, чтобы обеспечить расширяемую структуру для диагностики и фиксации типичных ошибок программирования
- CPPCHECK - CPPCHECK - это статический инструмент анализа для кода C/C ++. Он обеспечивает уникальный анализ кода для обнаружения ошибок и фокусируется на обнаружении неопределенного поведения и опасных конструкций кодирования. Цель состоит в том, чтобы обнаружить только реальные ошибки в коде (то есть имеет очень мало ложных срабатываний).
- CPPLINT - Проверка исходного кода для файлов C/C ++ Следующим руководству по стилю Google C ++.
- Oclint - Статический анализ для C, C ++ и объектив -C. Написано в C ++.
- Uncrustify - исходный код Beautifier для C, C ++, C#, Objectivec, D, Java, Pawn и Vala.
CoffeeScript
- @кофелин/CLI - настраиваемая Linter, записанный в Coffecript для анализа Coffecry.
Кристалл
- Ameba - Статический инструмент анализа кода для Crystal.
CSS
- CSSLINT - Статический анализ CSS, написанный в JavaScript. Использует правила подключения.
- CSSCOMB - CSS -инструмент, который красит CSS на основе конфигурации. Помогает в поддержании CSS. Написано в JavaScript.
- IE8Linter - Статический анализ для совместимости Internet Explorer 8. Написано в JavaScript.
- PostCSS-Bem-Linter-плагин для PostCSS для Lint CSS в соответствии с BEM-стилем . Написано в JavaScript.
- StyleLint - CSS Linter, который неопинирован, поддерживает плагины и имеет широкий спектр встроенных правил. Написанный в JavaScript, он анализирует по умолчанию CSS-подобные синтаксисы, такие как SCSS, SASS, меньше и сахар.
CSV
- csvlint.rb - драгоценный камень позади http://csvlint.io.
Дрэк
- Линтер - Линтер для Дарта в основном сосредоточен на стиле. Он настраивается, но поставляется с настроенными правилами из коробки. Написано в Дарт.
Dockerfile
- dockerfile_lint - Linter на основе правил для Dockerfiles. Правила Linter могут использоваться для проверки синтаксиса файлов, а также произвольных атрибутов семантической и наилучшей практики, определенных автором правил. Линтер также можно использовать для проверки правил метки на изображениях Docker.
- DockerFileLint DockerFileLint - это модуль узлов, который анализирует DockerFile и ищет общие ловушки, ошибки и помогает обеспечить лучшие практики
- Dockerlint Linting Tool для DockerFiles на основе рекомендаций DockerFile Sporking и лучших практик для написания DockerFiles начиная с Docker 1.6.
- HadoLint - Линтер для Dockerfiles. Линтер разрабатывает Dockerfile в AST и выполняет правила поверх AST. Он стоит на плечах ShellCheck, чтобы пробил код Bash Insuge Insings.
Эликсир
- Credo - Статический инструмент анализа кода для языка эликсира с акцентом на согласованность кода и обучение.
Вере
- ELM -Review - анализирует целые проекты ELM, с акцентом на совместные и пользовательские правила, написанные в ELM, которые добавляют гарантии, что компилятор ELM не дает вам.
Английский
- Алекс - Линтер, чтобы помочь поймать нечувствительное письмо на английском языке. Написано в JavaScript.
- Proselint - Линтер для английского, который предоставляет рекомендации по лучшему письму. Он имеет плагины для нескольких редакторов и настраивается.
- Textlint - Инструмент подключения к текстам естественного языка.
Эн
- Dotenv-linter-⚡lightning-Fast Linter для файлов
.env . Написано в ржавчине?
Эвеб
- Epubcheck - инструмент для проверки соответствия публикаций EPUB против спецификаций EPUB. Можно запустить в качестве отдельного инструмента командной строки или использовать в качестве библиотеки Java.
Эрланг
- Элвис - настраивается Эрланг Линтер, написанный в Эрланге.
Идти
- Golangci -Lint - Linters Runner для Go. В 5 раз быстрее, чем gometalinter. Хороший цветной вывод. Может сообщить только о новых вопросах. Меньше ложных позитива. Yaml/toml config.
- Golint - Go Style Linter написано в Go. Сосредоточьтесь на стилях кодирования больше, чем с правильностью.
- Gometalinter - одновременно запустите инструменты Go Lint и нормализуйте их вывод.
- Go Vet - Excelles Go Исходный код и сообщает о подозрительных конструкциях.
Graphql
- graphql-schema-linter-проверка определений схемы GraphQL против набора правил.
Groovy
- npm-groovy-lint-validate, format и автофиксирование Groovy, Jenkinsfile и Gradle Files
Хаскелл
- Hlint - инструмент для предложения возможных улучшений кода Haskell. Эти предложения включают в себя такие идеи, как использование альтернативных функций, упрощение кода и определение избыточных средств.
Хакс
- Haxe -Checkstyle - Haxe Checkstyle - это статический инструмент анализа, который помогает разработчикам писать код Haxe, который придерживается стандарта кодирования.
HTML
- HTMLHINT - HTMLHINT - это статический инструмент анализа кода для HTML, вы можете использовать его с помощью IDE или в системе сборки.
- HTML -Validate - Offline HTML5 Validator. Проверяет либо полный документ, либо меньший (неполный) шаблон.
- Bootlint - Bootlint - это инструмент, который проверяет несколько общих ошибок HTML на веб -страницах, которые используют Bootstrap.
- Jinjalint - прототип Linter, который проверяет отступ и правильность шаблонов, подобных джинджа/HTML. Также поддерживает шаблоны Django.
- Linthtml - linthtml - вилка htmllint. Это расширяется через плагины.
- Nu HTML Checker - автономная версия официального валидатора W3C для HTML, CSS и SVG. Написано на Java.
Ява
- Checkstyle - Checkstyle - это инструмент разработки, который помогает программистам написать код Java, который придерживается стандарта кодирования.
- FindBugs - использует статический анализ, чтобы найти ошибки в коде Java.
- PMD - статический анализатор, который находит общие недостатки программирования. Он поддерживает Java, JavaScript, Salesforce.com Apex, PLSQL, Apache Velocity, XML, XSL.
- Uncrustify - исходный код Beautifier для C, C ++, C#, Objectivec, D, Java, Pawn и Vala.
JavaScript
- Клинтон - Javascript Project Style Linter.
- Eslint - Полностью подключаемый инструмент для выявления и отчетности по шаблонам в JavaScript.
- Jshint - инструмент, управляемый сообществом, который обнаруживает ошибки и потенциальные проблемы в коде JavaScript.
- Краткий - самоуверенный форматер JavaScript, вдохновленный Refmt при расширенной поддержке языковых функций от ES2017, JSX и потока.
- Putout - Linter, который исправляет все, что может найти, поддерживает JS/TS/FLOW и оберните Eslint (когда
eslintrc существует). - Quick-Lint-JS-находит ошибки в программах JavaScript. Разработано для редакторов.
- Стандарт - javaScript Style Linter, который не допускает конфигурации.
- XO - самоуверенная, но настраиваемая обертка Eslint с множеством вкусностей. Обеспечивает соблюдение строгого и читаемого кода.
Котлин
- ktlint-анти-бикетический котлин-линтер со встроенным форматером
Луа
- Luacheck - инструмент для подножки и статического анализа кода LUA.
- Lualint - Lualint выполняет статический анализ на основе LUAC глобального использования переменных в исходном коде LUA.
Отметка
- Markdownlint - Node.js Style Checker и инструмент Lint для файлов Markdown/Commonmark.
- MDL - Проверьте файлы маркировки и проблемы в стиле флага. Написано в Ruby и распространяется как Rubygem.
- Замечание - написано в JavaScript. Замечание Lint обеспечивает настраиваемую линейку стиля разметки.
npm
- Lockfile -Lint - Очистите NPM или Lockle Lockile для анализа и обнаружения проблем безопасности.
- npm-package-json-lint-настраиваемая Linter для обеспечения стандартов в файлах npm package.json.
Объектив-c
- Oclint - Статический инструмент анализа исходного кода для улучшения качества и снижения дефектов для C, C ++ и Objective -C. Написано в C ++.
- Uncrustify - исходный код Beautifier для C, C ++, C#, Objectivec, D, Java, Pawn и Vala.
Openapi (чванство)
- Speccy - удобный инструментарий для OpenAPI, с линией для обеспечения соблюдения правил качества.
Перв
- Perlcritic - ведущий статический анализатор для Perl. Настраивается, расширяется, мощно.
- PERLTIDY - Автопортатор/красавитель кода Perl.
PHP
- PHPLINT - Узел обертки вокруг нативного Linter PHP, который позволяет параллельную ливни и интеграцию с такими системами сборки, как Grunt, Gulp и многое другое.
- Detector Php Mess - PHPMD можно рассматривать как удобный для пользователя и легко настроить Frontend для необработанных показателей, измеренных PHP.
Полимер
- Polylint - ошибки улавливания в вашем проекте Polymer, прежде чем даже запустить ваш код. Написано в TypeScript.
Мопс
- Pug-Lint-неопинированная и настраиваемая проверка Linter и стиль для Pug (ранее нефрита)
Кукольный
- Puppet -Lint - Тестовые модули и проявления против рекомендуемых руководств по стилю кукол из руководства по стилю Puppet Labs. Написано в Руби.
Питон
- Черный - бескомпромиссный форматер кода питона. Черный код выглядит так же, независимо от проекта, который вы читаете.
- Flake8 - управляет Pyflakes, Pycodestyle и другими инструментами только от одного CLI. Написано на Python.
- Pycodestyle (ранее называемый PEP8) - Инструмент для проверки вашего кода Python против некоторых конвенций в стиле в PEP 8.
- Pylint - анализатор исходного кода, который ищет ошибки программирования, помогает обеспечить соблюдение стандарта кодирования и обнюхивания для некоторых запахов кода.
- Ruff - чрезвычайно быстрый Python Linter, написанный в ржавчине, который на порядок на величине быстрее, чем альтернативные инструменты, в то же время интегрируя больше функциональности за единым общим интерфейсом.
- Wemake-Python-styleguide-самый строгий и самый самоуверенный Python Linter.
- Яла - Яла объединяет множество Линтеров для улучшения качества вашего кода.
Рего
- Regal - Regal - это Линтер для политического языка Rego. Regal стремится поймать ошибки и ошибки в коде политики, в то же время помогая людям изучать язык, лучшие практики и идиоматические конструкции.
реструктурированный текст
- DOC8 - DOC8 - это самоуверенная проверка стиля для первого (с базовой поддержкой для простого текста) стилей документации. Обратите внимание, что он не поддерживает дополнительные расширения Sphinx. Проект также доступен на OpenStack или GitHub
- RestructuredText Lint - проверка файлов REST либо в виде модуля, либо из утилиты CLI. Написано на Python.
Рубин
- Rubocop - Ruby Static Code Analyzer. Из коробки это будет обеспечивать соблюдение многих руководств, изложенных в Руководстве по стилю сообщества.
Ржавчина
- Rust -Clippy - Сбор Линтов, чтобы поймать общие ошибки и улучшить код ржавчины.
Солице
- Salt-Lint-утилита командной строки, которая проверяет на наличие лучших практик в SaltStack.
Набережный
- Sass-Lint-Linter только для узла для синтаксиса SASS и SCSS.
- SCSS -Lint - Инструмент, который поможет сохранить ваши файлы SCSS в чистоте и читаемые, запустив его против коллекции настраиваемых правил Linter.
- StyleLint - CSS Linter, который неопинирован, поддерживает плагины и имеет широкий спектр встроенных правил. Написанный в JavaScript, он анализирует по умолчанию CSS-подобные синтаксисы, такие как SCSS, SASS, меньше и сахар.
Скала
- Linter - плагин компилятора Scala Static Analysis, который добавляет проверки времени компиляции на различные возможные ошибки, неэффективность и проблемы стиля.
- Scalastyle - проверяет ваш код Scala и указывает на его потенциальные проблемы. Похоже на Checkstyle для Java.
- Отпущение отпущения - еще один подобный инструмент для Checkstyle для Java. Флаги подозрительного использования языка в коде.
- Wartremover - Гибкий и настраиваемый Scala Linter Записан в Scala.
Оболочка
- ShellCheck - дает предупреждения и предложения для сценариев оболочки Bash/SH.
- SHFMT-Shell (Posix Shell / Bash / Mksh) анализатор, форматер и интерпретатор, записанный в GO 1.13 и надо.
SQL
- SQLluff - SQLluff - это диалектный и настраиваемый SQL Linter.
Быстрый
- Swiftlint - инструмент для обеспечения соблюдения стиля и соглашений Swift, основанный на руководстве Github Swift Style.
Машинопись
- TSLINT - настраиваемая штуковина с автоматическим фиксацией формирования и нарушений стиля.
Ямл
- Spectral - гибкий JSON/YAML Linter, с поддержкой коробки для OpenAPI V2/V3 и Asyncapi V2.
- Yamllint - Linter для файлов yaml.
Внося
Взносы очень приветствуются! Создайте новый запрос на привлечение, решите ошибку или возьмите проблему, которая в настоящее время не назначена!
Единственное правило: сохранить его организованным.
Участники
Спасибо всем, кто помог!
Лицензия
некисленность