Поиск

🔍 Go без лишних строк 😎

📦 Как один линтер помогает «навести порядок» в стандартной библиотеке

Любой разработчик Go сталкивался с ситуацией, когда быстрее написать свою переменную, чем искать подходящую в стандартной библиотеке. 😅 В итоге код наполняется собственными версиями того, что уже давно существует.

Чтобы решить эту проблему, Саша Мелентьев из команды Evrone создал линтер usestdlibvars — инструмент, который анализирует проект и показывает, где вместо самописного значения лучше использовать встроенную константу или переменную из Go. 💡

Особенно заметен эффект в HTTP-обработчиках. Например, статус-коды вроде 500 легко заменить на http.StatusInternalServerError, что делает суть происходящего мгновенно видимой. В больших проектах это повышает читаемость кода и уменьшает риск ошибок.

Линтер предлагает замены только в тех случаях, где они действительно подходят. Разработчики специально ограничили набор правил, чтобы не возникало ложных подсказок — качество важнее количества.

Хотя инструмент небольшой, он отлично ложится в общую экосистему golangci-lint. Его можно использовать как часть CI, автоматически исправлять код или лишь отслеживать рекомендации.

🎯 Для Evrone такие решения особенно важны: они показывают, что инженерная культура развивается не за счёт огромных фреймворков, а за счёт продуманных и полезных инструментов, созданных самими разработчиками.

Используем переменные https://evrone.ru/blog/open-source/usestdlibvars из стандартной библиотеки Go с помощью свободного линтера.