Linters for Envbuilder aren't catching some common concerns that we have
还没有人认领这个 Issue。
评估
调研方向
首先检查 linting 配置并将其与 coder/coder 的配置进行比较,然后针对 envbuilder.go、devcontainer/devcontainer.go 和 devcontainer/script.go 运行当前的 linter。添加关于导出元素文档和可并行化测试的约定规则,处理由此产生的违规问题,并验证项目的 lint 和 test 命令能够通过。
由索引模型根据 Issue 内容生成。
描述
Suggestion: It's best practice for exported functions to have documentation (`// EnvWithBuildSecretPrefix ...`). It's part of the original Go linter (https://pkg.go.dev/github.com/golang/lint) and [CodeReviewComments](https://go.dev/wiki/CodeReviewComments#doc-comments)/[Effective Go](https://go.dev/doc/effective_go#commentary), so a bit surprising that it's not caught.
❯ golint ./...
envbuilder.go:43:2: a blank import should be only in a main or test package, or have a comment justifying it
devcontainer/devcontainer.go:34:6: exported type Spec should have comment or be unexported
devcontainer/devcontainer.go:50:6: exported type LifecycleScripts should have comment or be unexported
devcontainer/devcontainer.go:57:6: exported type BuildSpec should have comment or be unexported
devcontainer/devcontainer.go:78:1: exported function SubstituteVars should have comment or be unexported
devcontainer/script.go:16:6: exported type LifecycleScript should have comment or be unexported
devcontainer/script.go:21:1: exported method LifecycleScript.IsEmpty should have comment or be unexported
It seems golint is marked deprecated in golangci-lint though, so I guess the alternative linters aren't enforcing this rule. 😔 I always found it slightly annoying but ultimately worth the annoyance 😄.
Originally posted by @mafredri in https://github.com/coder/envbuilder/pull/391#discussion_r1818991909
There seem to be some linting rules that we'd value here. Two of them are:
- Tests should run in parallel when they can
- Exported functions should be documented
There may be others. It would be worth checking coder/coder's linting config to see what else we're missing. We should add the linters we deem important and ensure the project conforms to them.
- 主要语言
- Go
- 星标
- 300
- 派生
- 64
- 平均合并
- 20 分钟
- 30 天内合并 PR
- 1
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
coder/envbuilder 的其他 Issue
-
bug
难度 1/5 1 小时以内 新手友好度 90/100
coder/envbuilder#506 ·
-
bug envbuilder needs-investigation
难度 4/5 3-5 天 新手友好度 35/100
coder/envbuilder#495 ·
-
envbuilder Feature
难度 3/5 1-2 天 新手友好度 56/100
coder/envbuilder#492 ·
-
难度 4/5 3-5 天 新手友好度 25/100
coder/envbuilder#484 ·
-
难度 3/5 1-2 天 新手友好度 38/100
coder/envbuilder#483 ·
相似的 Issue
-
bug github_actions
难度 2/5 1-3 小时 新手友好度 75/100
registrystack/registry-stack#1393 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
JakeChampion/lang#10213 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
oasisprotocol/oasis-sdk#2523 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 70/100