staticlint

command
v0.0.0-...-832d8e4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2022 License: MIT Imports: 46 Imported by: 0

README

Инкремент 18

Создайте свой multichecker, состоящий из:

  • стандартных статических анализаторов пакета golang.org/x/tools/go/analysis/passes;
  • всех анализаторов класса SA пакета staticcheck.io;
  • не менее одного анализатора остальных классов пакета staticcheck.io;
  • двух или более любых публичных анализаторов на ваш выбор.

Напишите и добавьте в multichecker собственный анализатор, запрещающий использовать прямой вызов os.Exit в функции main пакета main. При необходимости перепишите код своего проекта так, чтобы он удовлетворял данному анализатору.

Поместите анализатор в директорию cmd/staticlint вашего проекта. Добавьте документацию в формате godoc, подробно опишите в ней механизм запуска multichecker, а также каждый анализатор и его назначение.

Исходный код вашего проекта должен проходить статический анализ созданного multichecker.

Покрытие вашего кода автотестами к концу спринта должно быть не менее 55%.

Documentation

Overview

staticlint implements set of static checks.

Following checks are included:

1. All checks from golang.org/x/tools/go/analysis/passes

2. All SA checks from https://staticcheck.io/docs/checks/

3. ST1019 check from https://staticcheck.io/docs/checks/#ST1019

4. Check for database query in loops https://github.com/masibw/goone

5. Check wrapping errors https://github.com/fatih/errwrap

6. Check for calling os.Exit in main func of main package

Example:

staticlint -SA1000 <project path>

Perform SA1000 analysis for given project. For more details run:

staticlint -help

exitinmain investigates main package for calling os.Exit from main function. Run this check with following command:

staticlint -exitinmain

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL