Skip to content

dowse找出修哪里最划算

面向 TypeScript monorepo 的行为式代码分析。它把 git 历史与代码结构交叉起来,只指出少数值得你花时间的地方。

三十秒上手

bash
npx dowse analyze

在一个有 git 历史的 TypeScript monorepo 中运行。你会得到 hotspot 排名、各包风险,以及隐藏耦合。无需任何配置。

⚠ Top hotspots (complexity=loc):
┌───┬────────────────────────────────┬───────┬────────┬────────┬─────────┐
│ # │ file                           │ score │   freq │     cx │ commits │
├───┼────────────────────────────────┼───────┼────────┼────────┼─────────┤
│ 1 │ services/api/src/runtime.ts    │ 0.999 │ 100pct │ 100pct │     255 │
│ 2 │ services/api/tests/db/…test.ts │ 0.997 │ 100pct │ 100pct │     128 │
└───┴────────────────────────────────┴───────┴────────┴────────┴─────────┘

🔗 Hidden coupling — 没有依赖却总是一起改动的包 (1):
│ @acme/admin-web │ @acme/doctor-web │ 33% │ 91 │ hidden ⚠ │

有何不同

开创这一领域的是 CodeScene。dowse 保留了它的核心洞察——并非所有代码都等价——并瞄准通用工具在结构上薄弱的地方。

CodeScenedowse
monorepo作为文件夹后期适配包依赖图是一等公民
分数依据公式与阈值不公开完全公开,可手工复算
改动频率质量承认重命名会夸大用 AST 比对剔除虚假 churn
bus factor仓库级或文件级按包计算
修复只给建议实际修改、验证、并实测改善幅度
语言支持39 种仅 TS/TSX——优势正来自于此
价格收费,按活跃作者计MIT

如果你的代码库跨越多种语言,CodeScene 更合适。dowse 用广度换取了在 TypeScript monorepo 上的精度。

基于 MIT 许可发布