Linting е вид анализ на статичен код за идентифициране на потенциални грешки в кодовата база. Linters анализират кода за синтактични грешки и стилови проблеми. Процесът може да помогне за предотвратяване на грешки, да подобри четливостта, да наложи най-добрите практики и да спести време.
Linting е стандартна практика в разработката на софтуер. Въпреки че няма вграден линтер в стандартната библиотека на Go, в екосистемата Go съществуват много инструменти за линтинг на трети страни. Те включват пакетите GolangCI Lint, Go Meta Linter и Staticcheck.
MAKEUSEOF ВИДЕО НА ДЕНЯ
Пакетът GolangCI Lint
Пакетът golangci-lint е мощен и гъвкав линтер за Go, който може да ви помогне да идентифицирате и коригирате грешки в кода. Лесната употреба на пакета, разширяемостта и изчерпателният набор от вградени линтери го правят популярен избор за много разработчици на Go.
GolangCI Lint анализира изходния код на Go и предоставя обратна връзка за потенциални грешки, проблеми със сигурността и нарушения на стила на кодиране с функционалност за високоефективен анализ и поддръжка на непрекъсната интеграция (CI).
Изпълнете тази терминална команда в работната директория на вашия проект, за да инсталирате пакета Golangci-lint:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.1
Вашата версия Go трябва да е 1.19 или по-нова за командата за инсталиране на пакета. Можете също така да проверите golangci-lint инсталации страница за други налични методи за инсталиране.
Командата ще инсталира GolangCI на вашата система като CLI инструмент. Можете да проверите инсталацията с тази команда:
golangci-lint --version
Командата трябва да покаже версията на golangci-lint, която сте инсталирали.
Конфигуриране на Linter
Linters са много гъвкави , така че за да инсталирате линтер, ще трябва да конфигурирате линтера за вашия проект.
The golangci-lint употреби на инструменти YAML файлове за конфигурация . Ще посочите настройките на вашия linter в YAML файла, за да може пакетът да се чете.
Можете да създадете конфигурационен файл по подразбиране, като използвате тази команда:
golangci-lint config > .golangci.yml
Командата създава нов файл с име .golangci.yml в текущата ви директория. Можете да продължите да редактирате този файл, за да конфигурирате linter за вашия проект.
Ето съдържанието на .golangci.yml файл, когато изпълните командата:
как да поставите лентата за гледане на ябълки
Файлът съдържа информация за golangci-lint инструмент и опциите, които можете да използвате, за да конфигурирате вашия процес на регистрация.
Ще трябва да редактирате файла, за да добавите правилата за linting за вашата програма. Можете да намерите пълния списък на наличните линтери на golangci-lint Linters страница с документация. Или можете да стартирате помогнете на линтерите команда за преглед на линтерите на вашия команден ред:
golangci-lint help linters
Командата извежда всички Linters, налични за версията на пакета, който сте инсталирали.
Изпълнение на Linter
Ето демонстрация на писане на следното „Hello, World!“ програма, която използва net/http пакет:
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, world!")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
Тази програма определя a манипулатор функция, която приема екземпляри на писател и заявка от http пакети ResponseWriter и Заявка типове структури. The манипулатор функция пише „Здравей, свят!“ на клиента по заявка.
The основен функцията монтира / маршрут до манипулатор функция и ListenAndServe функцията стартира сървъра на локален хост порт 8080 .
The ListenAndServe функцията връща грешка, но програмата я игнорира. Тази конфигурация ще гарантира, че линтерът подчертава проблема:
linters-settings:
deadcode:
# ignore all test files
skip-files: "_test\.go$"
govet:
# disable shadowing check
check-shadowing: false
golint:
# ignore errors about exported function names
exclude-use-default-exported: true
# ignore errors about underscores in package names
exclude-useless-naming: true
gosec:
# disable gosec tests, since they are slow and can produce false positives
tests: false
unused:
# report unused function arguments, but not unused variables
check-exported: true
check-blank: true
check-tests: true
След като зададете тази конфигурация на linter, можете да стартирате linter с тичам команда:
golangci-lint run
# equivalent, runs all programs
golangci-lint run ./...
Като алтернатива можете да линтирате конкретни файлове, като посочите името на файла или пътя след тичам команда:
golangci-lint run dir1 dir2/... dir3/file1.go
Ето резултата от стартирането на linter срещу програмата:
The golangci-lint инструментът е многофункционален и вашата конфигурация ще варира в зависимост от вашия проект.
Можете да линтирате вашите JavaScript проекти с ESLint
Linting е популярна задача за разработка на софтуер и повечето езици за програмиране и IDE предоставят инструменти за програми за linting. За JavaScript, ESLint е най-популярният линтер.
Eslint предоставя множество правила за линтинг, които следват индустриалните стандарти в CLI, IDE и инструментите за текстов редактор, което прави инструмента за линтинг чудесен избор за разработчиците на JavaScript.
как да поправя skype не може да се свърже