返回资讯中心
外部精选
软件工程
#开发者实时流

开发者发布 Go 代码风格检查工具,自动将游离顶层函数转为方法

来源标题:Show HN: Go (style) linter for dangling package-level functions

开发者发布了一款 Go 风格检查工具,用于识别不属于任何类型的游离包级函数,并可通过 -fix 自动将其转换为指针接收者方法。该工具基于 golang.org/x/tools/go/analysis 实现,作者称搜索未发现类似项目,并提醒不要在未暂存的改动上运行 -fix。项目已在 Show HN 发布并征集 PR,尤其是更多边界场景的测试用例。

Hacker News 最新nf-x2026/11/2 · 今天3 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

我属于那种不喜欢游离的顶层函数污染包命名空间的人,觉得它们必须通过 receiver 归属于某个类型,才具备逻辑意义——在别的语言生态里摸爬滚打了十年之后,这样才“感觉没那么杂乱”。在几百次 PR review 里留下过这条(以及其他几条)一模一样的抱怨之后,我想着把这件事自动化应该挺有意思,毕竟我早就想深入看看 golang.org/x/tools/go/analysis 了。结果发现 analysis.TextEdit 比 linter 本身还有趣,于是修复可以自动完成:如果一个具体函数只在一个类型内部被使用,它就能自动“归位”,变成指针 receiver 方法。试试看,告诉我你的想法。我在网上搜了两个小时,没找到类似的东西。和大多数 linter 一样,这是一种风格上的选择,未必适合你的组织。但愿它能让你的日子轻松一点。注意:目前还不要在未暂存的改动上带 -fix 运行。非常欢迎 PR,尤其是补充更多边界情况的测试用例。

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →