SuperAPI AI 工具集

law-of-demeter

编程与开发

查看项目

更新于 10-15 22:39

技能介绍

用途:在代码审查或重构时,处理因链式调用和了解嵌套内部结构而产生的对象耦合问题,应用迪米特法则(Law of Demeter / 最少知识原则)。核心主张是只与直接协作者对话,不通过它们去访问陌生对象。

主要能力与工作流:

  1. 找出 a.getB().getC().doX() 之类的调用链,以及导航对象结构的代码。
  2. 识别调用方实际要执行的决策或行为。
  3. 把该行为移动到拥有所需知识的对象上。
  4. 用意图明确的方法替代结构导航。
  5. 明确保留 DTO、builder 和流式 API 的例外,并非所有链式调用都是领域耦合问题。

检查要点:火车残骸会暴露结构、使调用方脆弱;重复出现的导航路径通常意味着缺少方法;仅用于做判断的 getter 是“Tell Don't Ask”的候选。

参考与输出:可阅读 references/patterns.md 获取重构模式与例外;对非平凡实现、审查或重构,在给出最终建议前阅读 references/details.md,其中包含详细规则、示例、坏味道与迁移说明。输出应包含:调用链、隐藏的行为、目标归属对象以及替换后的代码。

限制:资料未提供安装命令、平台支持、收费方式或具体代码示例,这些内容暂未提供。