用途:techdebt 用于在代码库中分析技术债,包括重复代码、死代码、未使用导入和重构机会。适合在每个开发会话结束时运行以清理债务,也支持对指定目录或新增代码做定向扫描。
主要能力:工作流分四步——扫描目标路径中的重复代码(相似函数逻辑、3 行以上近似复制块、重复字符串、重复错误处理、重复的 Kafka 生产者/消费者初始化代码);检测死代码与未使用导入(可用 uv run ruff check src/ tests/ --select F401,F841 查找未用导入与变量,并搜索从未被导入或调用的函数和类、注释掉的代码、TODO/FIXME/HACK);发现不一致模式(Kafka 生产者是否用上下文管理器、topic 命名 {domain}.{entity}.{event}、消费组 ID {service-name}-{purpose}、公共函数类型标注与文档字符串、命名规范、硬编码值);识别重构机会(超 50 行长函数、职责过多的类、深层嵌套条件、可复用为装饰器或上下文管理器的错误处理)。
使用方式:目标路径通过 $ARGUMENTS 指定,未指定时默认扫描 src/ 和 tests/。可给出指令如“Run a techdebt scan”或“Check for tech debt in src/kafka/”。报告按 Critical(必须修复)、Warning(应该修复)、Suggestion(可考虑改进)分类,每项含文件位置、行号和修复建议,并汇总各类数量与工作量估计。
限制:目标路径不存在或不含源文件时应报告并停止;ruff 不可用时可先 uv add --dev ruff 安装,否则回退到基于 grep 的手工分析;大型代码库可能结果过多,建议聚焦路径并优先关键问题;测试脚手架等必要重复可能产生误报,需人工判断并标注置信度。其他收费、平台与效果信息暂未提供。