Skip to content

Update golangci.yml#47

Open
Goginet wants to merge 2 commits into
masterfrom
update_golangci
Open

Update golangci.yml#47
Goginet wants to merge 2 commits into
masterfrom
update_golangci

Conversation

@Goginet

@Goginet Goginet commented Apr 8, 2024

Copy link
Copy Markdown
Contributor

@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
Copy Markdown
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

Goginet commented Apr 8, 2024

Copy link
Copy Markdown
Contributor Author

@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