Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update golangci.yml #47

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Update golangci.yml #47

wants to merge 2 commits into from

Conversation

Goginet
Copy link
Member

@Goginet Goginet commented Apr 8, 2024

@vladyslav2 чуть расширил наш игнор список для go линтера.

  1. godox - что бы не ругалось на TODO в коде
  2. funlen - какой то слишком строгий к названию функций, думаю нам достаточно обычного линта который првоверяет длинну строк
  3. gci тут я не понял как обойти эту ошибку
internal/adapters/db/postgres.go:7: File is not `gci`-ed with --skip-generated -s standard -s default (gci)
        "github.com/pkg/errors"

internal/adapters/db/postgres.go:11: File is not `gci`-ed with --skip-generated -s standard -s default (gci)
        "github.com/jackc/pgx/v5/pgxpool"
cmd/http/start/start.go:7: File is not `gci`-ed with --skip-generated -s standard -s default (gci)
        "github.com/webdevelop-pro/go-common/configurator"
  1. gocognit и cyclop - ругаеться на наши длинные функции где много работы с разными моделями и соответсвенно valid/select методами
  2. interfacebloat - пока мы все запихиваем в один интерфейс то нам нужно это заигнорить

@Goginet Goginet requested a review from vladyslav2 April 8, 2024 16:57
@vladyslav2
Copy link
Contributor

@Goginet
Смотри я возспринимаю linter как помощника который подсказывает как сделать код лучше, что не забывать, какой код стоит прорефакторить. И соотвественно я не стороник отключений каких-то правил если они реально несут за собой пользу.

  1. godox - Давай разберемся как и когда мы будем работать с ToDo если не при пуше/коммите? Мое предложение делать тикеты и в коде проставлять ссылки на тикет с описанием что нужно переделать
  2. funlen - тут у меня с ним много проблем, тк я часто пишу большие фукнции. Я даю плюс что б его отключить (хотя опять же выглядит полезно)
  3. gci - нужно настроить vscode что б он на сохранение форматировал код. Єто ошибка возникает когда у тебя где-то стоят лишние пробелы или import не отсортирован. Тут могу помочь
  4. gocognit/cyclop - аналогично с funlen. Как по мне полезный плагин. Я вот думаю может пока что добавим игнорирование и в процессе попробуем упростить код?
//gocognit:ignore
func IgnoreMe() {
    // ...
}
  1. interfacebloat - я вот с єтим я если чесно согласен. Мы сейчас создаем интерфейсы вообще без какой либо практической пользы. Мы и в тестах их не используем, и если для 3rd party сервисом тут можно согласиться, что в будущем у нас может появиться другой сервис но для App/Postgres я не понял для чего мы создаем интерфейсы

@Goginet
Copy link
Member Author

Goginet commented Apr 8, 2024

@vladyslav2

  1. ок, давай так, но godox нужно отключить что бы линт не падал т.к. godox ругаеться на любое TODO
  2. точно, странно у меня хоть и есть форматирование но пока разделительные строки между группами импортов не убрал оно ругалось. вернул gci
  3. ну интерфейсы лучше оставить, хоть мы их и не используем но это на дает возможность чуть что написать тесты на любой слой замокав другой, не вижу ничего плохого в них.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants