Линтинг је врста статичке анализе кода за идентификацију потенцијалних грешака у бази кода. Линтери анализирају код за синтаксичке грешке и проблеме са стилом. Процес може помоћи у спречавању грешака, побољшању читљивости, примени најбољих пракси и уштеди времена.
Линтинг је стандардна пракса у развоју софтвера. Иако не постоји линтер уграђен у Го стандардну библиотеку, многи алати за линтинг независних произвођача постоје у Го екосистему. Ово укључује ГолангЦИ Линт, Го Мета Линтер и Статиццхецк пакете.
ГолангЦИ Линт пакет
Пакет голангци-линт је моћан и флексибилан линтер за Го који вам може помоћи да идентификујете и поправите грешке у коду. Лакоћа коришћења, проширивост и свеобухватан скуп уграђених линтера чине га популарним избором за многе Го програмере.
ГолангЦИ Линт анализира Го изворни код и даје повратне информације о потенцијалним грешкама, безбедносним проблемима и кршења стила кодирања са функционалношћу за анализу високих перформанси и континуирану интеграцију (ЦИ) подршка.
Покрените ову терминалну команду у радном директоријуму вашег пројекта да бисте инсталирали Голангци-линт пакет:
иди инсталирај гитхуб.цом/голангци/голангци-линт/цмд/голангци-линт@в1.51.1
Ваша Го верзија мора бити 1.19 или новија да би команда инсталирала пакет. Такође можете проверити голангци-линт инсталације страницу за друге доступне методе инсталације.
Команда ће инсталирати ГолангЦИ на ваш систем као ЦЛИ алат. Можете да проверите инсталацију овом командом:
голангци-линт --верзија
Команда треба да прикаже верзију голангци-линт коју сте инсталирали.
Конфигурисање линтера
Линтери су веома разноврсни, па да бисте инсталирали линтер, мораћете да конфигуришете линтер за свој пројекат.
Тхе голангци-линт алат користи ИАМЛ датотеке за конфигурацију. Навести ћете подешавања вашег линтера у ИАМЛ датотеци за читање пакета.
Можете креирати подразумевану конфигурациону датотеку користећи ову команду:
голангци-линт цонфиг > .голангци.имл
Команда креира нову датотеку под називом .голангци.имл у вашем тренутном директоријуму. Можете наставити са уређивањем ове датотеке да бисте конфигурисали линтер за свој пројекат.
Ево садржаја .голангци.имл датотеку када покренете команду:
Датотека садржи информације о голангци-линт алат и опције које можете користити да конфигуришете свој процес листинга.
Мораћете да уредите датотеку да бисте додали правила линтинга за свој програм. Комплетну листу доступних линтера можете пронаћи на голангци-линт Линтерс страница документације. Или можете покренути помоћ линтерс команду да видите линтере на командној линији:
голангци-линт помоћ линтерс
Команда даје све линтерове доступне за верзију пакета који сте инсталирали.
Покретање Линтера
Ево демонстрације навођења следећег „Здраво, свет!“ програм који користи нет/хттп пакет:
пакет главни
увоз (
"фмт"
"нет/хттп"
)фунцруковалац(в хттп. РеспонсеВритер, р *хттп. Захтев) {
фмт. Фпринтф (в, "Здраво Свете!")
}
фунцглавни() {
хттп. ХандлеФунц("/", руковалац)
хттп. Слушај и служи (":8080", нула)
}
Овај програм дефинише а руковалац функција која преузима инстанце писца и захтева из хттп пакета РеспонсеВритер и Захтев струцт типови. Тхе руковалац функција пише "Здраво, свет!" клијенту на захтев.
Тхе главни функција монтира / пут до руковалац функција, и ЛистенАндСерве функција покреће сервер на порту локалног хоста 8080.
Тхе ЛистенАндСерве функција враћа грешку, али је програм игнорише. Ова конфигурација ће осигурати да линтер истиче проблем:
линтерс-сеттингс:
мртви код:
# занемари све тестне датотеке
скип-филес: "_тест\\.го$"
говет:
# онемогући проверу сенчења
провера сенке: лажно
голинт:
# игнорише грешке у вези са именима извезених функција
искључи-користи-Уобичајено-извезено: истина
# игнорише грешке о доњој црти у пакет имена
искључи-бескорисно-именовање: истина
госец:
# онемогући госец тестове јер су спори и могу да производе лажно позитивне
тестови: лажно
неискоришћено:
# пријави неискоришћене аргументе функције, али не и неискоришћене променљиве
извезено чеком: истина
чек-празно: истина
контролни тестови: истина
Након подешавања ове конфигурације линтера, можете покренути линтер са трцати команда:
голангци-линт рун
# еквивалентно, покреће све програме
голангци-линт рун ./...
Алтернативно, можете линтовати одређене датотеке тако што ћете навести име датотеке или путању након трцати команда:
голангци-линт рун дир1 дир2/... дир3/филе1.го
Ево резултата покретања линтера против програма:
Тхе голангци-линт алат је свестран, а ваша конфигурација ће се разликовати у зависности од вашег пројекта.
Можете линтовати своје ЈаваСцрипт пројекте помоћу ЕСЛинт-а
Линтинг је популаран задатак развоја софтвера, а већина програмских језика и ИДЕ-ова пружа алате за линтинг програме. За ЈаваСцрипт, ЕСЛинт је најпопуларнији линтер.
Еслинт пружа вишеструка правила за линтинг која прате индустријске стандарде у ЦЛИ, ИДЕ и алатима за уређивање текста, чинећи алат за линтинг одличним избором за ЈаваСцрипт програмере.