Потрясающие Linters
Куративный список Awesome Go Linters.
Спонсируется Golangci: SaaS Service для запуска Linters по запросам GitHub. Бесплатно для открытого исходного кода.

Содержимое
- Облачные линщики
- Иди сфокусирован
- Общее назначение
- Линтерс
- Форматирование кода
- Сложность кода
- Стиль и узоры проверки
- Ошибки
- Неиспользованный код
- Производительность
- Отчеты
- Разное
- Linters Helper Tools
Облачные линщики
Иди сфокусирован
- Golangci - Служба SaaS с открытым исходным кодом для запуска Linters по запросам GitHub Pull. Бесплатно для открытого исходного кода.
- Golint Online - Lints Online Go Исходные файлы на Github, Bitbucket и Google Project Hosting с использованием пакета Golint.
- Gopherci - Gopherci помогает вам поддерживать высококачественные проекты GO, проверяя каждый запрос на вытягивание GitHub, на обратные несовместимые изменения и набор других тестов.
- Перейти на табель успеваемости - go Repo. КАРТА.
Общее назначение
- Codeclimate - открытая и расширяемая платформа статического анализа.
- CodeFactor - Анализ автоматического кода для репозиции на GitHub или Bitbucket.
- Houndci - Инструмент проверки кода для запросов на вытягивание GitHub
- Количественный код - автоматический обзор и ремонт кода
- Shartinizer - проверка качества качества собственного кода, которая может быть интегрирована с GitHub
- Sideci - инструмент просмотра автоматического кода. Повышение производительности разработчиков.
Линтерс
Форматирование кода
- DEDUPIMPORT - Исправьте дубликат импорта, который имеет одинаковый путь импорта, но разные импортные имена.
- GOFMT - Formats GOFMT GO Программы. Должен иметь для каждого проекта. Не забудьте использовать флаг -S.
- GOFUMPT - Инструмент представляет собой модифицированную вилку GOFMT, обеспечивая более строгий формат, чем GOFMT, одновременно совместимый с ними.
- Goimports - Goimports делает все, что делает GOFMT. Кроме того, он проверяет неиспользованный импорт.
- Undendent - код отчета, который излишне с отступом
Сложность кода
- ABCGO - метрики ABC для исходного кода GO.
- Глубина - Считайте максимальные функции GO. Полезно видеть, нужно ли разделить функцию на несколько меньших функций для цели читаемости.
- Funlen - Linter, который проверяет на долгие функции. Он может проверить количество строк и количество операторов.
- Gocyclo - вычисляет и проверяет цикломатическую сложность функций.
- Nakedret - Nakedret - это инструмент для статического анализа GO, чтобы найти обнаженные возвраты в функциях, превышающих определенную длину функции.
- Splint - он находит любые функции, которые слишком длинные или имеют слишком много параметров или результатов.
Стиль и узоры проверки
- Dogsled - Находит задания/декларации со слишком большим количеством пустых идентификаторов.
- Dupl - инструмент для обнаружения клона кода.
- Go -Ceckstyle - Checkstyle - это инструмент для проверки стиля, такой как Java Checkstyle. Этот инструмент, вдохновленный Java Checkstyle, Golint. Стиль ссылался на некоторые моменты в комментариях к обзору кода GO.
- Go-Cleanarch-Go-Cleanarch был создан для проверки правил чистой архитектуры, таких как правило зависимости и взаимодействие между пакетами в ваших проектах GO.
- Go -Consustent - анализатор исходного кода, который помогает вам сделать программы GO более последовательными.
- GO -NAMECHECK - Анализатор исходного кода, который помогает вам поддерживать соглашения об именовании переменных/поля внутри вашего проекта.
- Go-Printf-Func-Name-проверяет, что функции, похожие на печати, названы с
f
в конце. - Go-RuleGuard-определить и запустить на основе правил на основе индивидуальных снимков.
- Gochecknoinits - найти функции init, чтобы уменьшить побочные эффекты в коде.
- Gochecknoglobals - найти глобальные VAR, чтобы уменьшить побочные эффекты в коде.
- Goconst - Найдите в Go Повторяемые строки, которые могут быть заменены постоянной.
- Golint - Golint - это Linter для исходного кода GO.
- Gosimple - Gosimple - это Linter для исходного кода GO, который специализируется на упрощении кода.
- IMPI - Проверьте импорт группировку и заказ.
- Interfacer - Linter, который предлагает более узкие типы интерфейса.
- LLL - Линтер длины линии, используемый для обеспечения длины строки в файлах.
- Сфера - находит широко оформленные английские слова
- nofuncflags - запретить логические параметры на функции (флаги).
- Preclared - Найдите код, который встроенные идентификаторы Shadows GO (например,
append
, copy
, int
). - Revive - ~ 6 раза быстрее, строго, настраивается, расширяется и красиво выпадает в Golint
- unconvert - удалить ненужные преобразования типа из источника GO.
- ИСПОЛЬЗОВАНЫ - Найдите в экспортируемых переменных GO, которые могут быть неожиданными.
- WhiteSpace - проверяет ненужные новеньки в начале и конце функций
Ошибки
- Apicompat - проверяет недавние изменения в проекте GO на обратные несовместимые изменения.
- Badtime - Badtime - это Golang Linter, который обнаруживает ненадлежащее использование времени.
- BodyClose - проверяет, закрывается ли HTTP -корпус ответа, и повторное использование соединения TCP не блокируется
- Durcheck - Durcheck - это очень простой линтер, который обнаруживает потенциальные ошибки со временем. Продолжительность в пакете Go.
- Enumcase - Enumcase проверяет каждый оператор переключателя, обрабатывает все значения конналов типа.
- Enumlinter - Enum Linter для перечисленных типов в Go.
- Errcheck - Errcheck - это программа для проверки неконтролируемых ошибок в программах GO.
- Газ - осматривает исходный код на наличие проблем безопасности, сканируя Go Ast.
- Go Vet - Vet Execures go исходный код и сообщает о подозрительных конструкциях, таких как вызовы Printf, аргументы которых не соответствуют строке формата. Может проверить затенение переменных, но должно быть включено явно.
- Gosumcheck - проверяет все возможные случаи переключения типов.
- Go-Sumtype-проверяет все возможные случаи переключения типов.
- Mulint - Go Lint, который обнаруживает рекурсивные замки, что может привести к мертвым замкам.
- SAFESQL - Статический инструмент анализа для Голанга, который защищает от инъекций SQL.
- Scopelint - Scopelint проверяет на наличие непосредственных переменных в программах GO.
- SQLROWS - проверяет, называется ли закрыто на SQL.Rows.
- Staticcheck - StaticCeck - это
go vet
на стероидах, применяя тонну статических проверок анализа, которые вы можете использовать из таких инструментов, как Resharper для C#.
Неиспользованный код
- DeadCode - находит неиспользованный код.
- Неэффективное - обнаружить, когда назначения существующим переменным не используются.
- Structcheck - Найдите неиспользованные глобальные переменные и константы.
- UNPARTAM - Отчет о неиспользованных параметрах функции.
- Неиспользуемые - неиспользованные проверки идите код для неиспользованных постоянных, переменных, функций и типов.
- Varcheck - Найдите неиспользованные глобальные переменные и константы.
Производительность
- Aligncheck - предупреждайте о не оптимально выровненных структурах.
- CopyFighter - Статически анализы Go Code и отчеты Функции, которые передают большие структуры по значению.
- Созначенный - Инструмент для обнаружения структур GO, который потребует меньше памяти, если бы их поля были отсортированы.
- PREALLOC - Найдите объятия срез, которые потенциально могут быть предварительно предварительно.
- RangerDanger - инструмент для обнаружения операторов диапазона
Отчеты
- Flen - Получите информацию о длине функций в пакете Go.
- Goreporter - инструмент Golang, который проводит статический анализ, модульный тестирование, проверка кода и генерирует отчет о качестве кода.
- Golinters - Golinters генерирует HTML -отчеты о Go Linters.
Разное
- Go -Outdated - Консольное приложение, которое отображает устаревшие пакеты.
- Go-Template-Lint-Go-Template-Lint-это Linter для файлов шаблона GO Text/Semplate (и HTML/шаблона).
- Годокс - Найдите все комментарии todo/fixme.
- Lingo - набор конкретных проверок.
- Megacheck - Megacheck управляет Staticcheck, Gosimple и неиспользованным одновременно. Поскольку он может повторно использовать работу, она будет быстрее, чем запуск каждого инструмента отдельно.
- Go -Critic - исходный код Linter, который приносит чеки, которые в настоящее время не реализованы в других линтерах.
- TARP - TARP находит функции и методы без прямых модульных тестов в исходном коде GO.
- Go -Mnd - детектор магического числа для Go.
- Gocheckit - инструмент GO, чтобы помочь определить устаревшие модули GO.
Linters Helper Tools
- Golangci -Lint - Linters Runner для Go. В 5 раз быстрее, чем gometalinter. Хороший цветной вывод. Может сообщить только о новых вопросах. Меньше ложных позитива. Yaml/toml config.
- GometalInter - MetalInter - это инструмент для автоматического применения всего инструмента статического анализа и сообщать об их выходе в нормализованной форме.
- Lint - запустите Linters как часть теста GO.
- Revgrep - Фильтры вывод из инструментов статического анализа, показывая лишь недавно измененные строки кода
- ReviewDog - «ReviewDog» предоставляет способ опубликовать комментарии к службе хостинга кода, такую как GitHub, автоматически путем с легкостью интеграции с любыми инструментами Linter.
- ZB - ускорение, кэшируя результат GometalInter.
- Golintui - простой терминал для Go Linters.