像 eslint、tslint 那样创建和推广可推荐和可共享的预设

作者: jirfag创建于 2020年5月17日更新于 2026年6月5日
标签enhancementno decision

理由

  1. 有些 lint 工具部分或完全重复: [errcheck, goerr13, staticcheck], [modguard, depguard], [golint, stylecheck]
  2. 有些非常酷的 lint 工具没有被使用,因为 lint 工具太多,而且只有其中的一部分是默认启用的。
  3. 配置变得太大了。即使是维护者(我也一样)也不知道所有的配置选项和 lint 工具。
  4. 一个常见的情况是,由于扩展能力不足,需要使用多个 .golangci.yml 配置文件。 我们需要研究 eslint、tslint 等工具的工作原理。我的第一个猜测是引入类似 golangci:recommended 的预设,并添加共享和重用此类预设的功能,例如 airbnb-eslint。此类预设可以包括任何配置子集: lint 工具、其配置、输出等。

内容来源: golangci/golangci-lint