DEV Community · Show DEV9/5 08:2453 分
13个仓库13个bug:开源教会我测试自己的工具
13 repositories, 13 bugs: what open source taught me about my own tool
作者构建了一个从代码仓库绘制架构图的工具,每条边都引用文件、行和提交。他用13个未见过的仓库测试,每个都发现了问题。工具规则是:无法解析的引用不静默丢弃,而是报告为缺口。Java中,Guava的Truth库因包前缀匹配被误认为Guava自身代码,产生834个假缺口(占28%);修复需检查下一路径段是否为类型。Java文件导入自身嵌套类型导致自引用箭头,占Spring Boot剩余137个和Guava 34个缺口。静态导入指向过深,导致106个事实错误断言gson依赖自身发布版。Go中,跳过build目录导致Moby的4个build包被忽略。作者强调,读取他人仓库的工具必须用他人仓库测试。