gpt4 book ai didi

go - 在 Golang monorepo 中查找死代码

转载 作者:IT王子 更新时间:2023-10-29 01:11:53 27 4
gpt4 key购买 nike

我的团队将我们所有的 Golang 代码都放在一个 monorepo 中。

  • 包含库代码的各种包子目录。
  • cmd 下的二进制文件/服务/工具

我们已经有一段时间了,正在做一些清理工作。是否有任何工具或技术可以找到 cmd 下的二进制文件未使用的函数?

我知道 go vet 可以找到包中未使用的私有(private)函数。但是我怀疑我们也有未使用的导出库函数。

最佳答案

UPD 2020:未使用 工具已合并到 staticcheck 中。不幸的是,v0.0.1-2020.1.4 可能是最后一个支持这个的特征。多米尼克explains那是因为支票消耗了很多资源,很难做到正确。

获取该版本:

env GO111MODULE=on go get honnef.co/go/tools/cmd/staticcheck@v0.0.1-2020.1.4

使用方法:

$ staticcheck --unused.whole-program=true -- ./...
./internal/pkg/a.go:5:6: type A is unused (U1001)

下面是原始答案。


Dominik Honnef 的 unused工具可能就是您要找的:

Optionally via the -exported flag, unused can analyse all arguments as asingle program and report unused exported identifiers. This can be useful forchecking "internal" packages, or large software projects that do not exportan API to the public, but use exported methods between components.

关于go - 在 Golang monorepo 中查找死代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39924136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com