BugMiner 的思路挺有意思的,用历史提交数据反推出容易出错的文件。作者一开始在火车上写脚本打发时间,后来干脆加了数据库,搞了个能跑 SQL 的版本,效率高多了。它主要是 Subversion 的 PHP 项目,能帮你找出哪些文件总是跟 bug 修有关,维护代码时心里更有底。
BugMiner不是那种花哨的可视化工具,但胜在逻辑清晰,功能聚焦。配合数据库用,挖掘历史数据还挺方便。你只要准备好 SVN 仓库和一点 SQL 功底,就能跑起来。脚本结构也比较直白,改起来不难。
如果你经常老项目或要搞代码健康,这种工具真心能省不少事。是那种一改就炸的代码,提前知道风险文件,能少踩坑。要是你正用的是Subversion
,那就更推荐试试了。
顺带一提,如果你数据库用的是SQLite3,出了点小问题可以看看这个修复方法;挖掘算法相关的也可以看看Weka 源码,两个结合用会更强。
如果你搞的是代码质量、技术债管理,或者你就是个对历史数据敏感的开发者,BugMiner确实是个不错的工具。嗯,,得是那种对命令行不排斥的你~