用途:在 Elixir/Phoenix 项目中检测并消除重复代码、反模式与重构机会,生成按优先级排序的技术债报告,并给出具体修复步骤。
主要能力:分析重复的 Ecto 查询模式、重复的校验逻辑、复制粘贴的控制器动作,以及重复的转换逻辑。分析流程包括运行 Credo 自动检测、用 Grep 查找重复的 Repo 调用和查询模式、统计 changeset 定义、查找重复校验,以及查找相似的控制器动作。
使用方式:可运行 /phx:techdebt 分析代码库并生成报告;自动检测步骤为运行 mix credo --strict,重点关注设计问题(重复、复杂度)、一致性问题(命名、模式)和重构机会。搜索范围包括 lib//.ex 与 lib/_web//*.ex。
核心原则:重构前先搜索,理解重复的完整范围;三振规则,仅在 3 次以上重复后才抽取共享代码;优先使用组合,使用 behaviours 和 protocols,而非继承式抽象;测试覆盖优先,确保测试存在后再重构重复代码。
报告格式:对每处重复,报告位置(文件路径与行号)、模式(重复的代码)、抽取建议(建议的共享函数/模块)、修复工作量(低/中/高)。
常见重复与建议:重复查询可用共享查询模块;重复校验可抽取到共享 changeset;相似控制器应一致使用 Phoenix 生成器;重复转换可抽取到领域模块。
限制:资料未提供安装方式、具体收费、平台支持范围及作者背景等信息,暂未提供。