用途:安全重构 C#/.NET 代码,只改变结构、不改变可观察行为。适用于重命名、移动、提取、内联、合并、去重等请求。
主要能力:先对请求做分类,区分行为保持型重构与升级、新功能、行为变更、源码契约变更;可分离的结构操作照做,行为或契约变更延后并转交相应工作流。重命名/移动按绑定而非文本匹配,优先使用 IDE/Roslyn 重构、C# LSP(findReferences、goToDefinition、incomingCalls、rename)、分析器修复,最后才用编译器验证的编辑;纯查找替换仅在范围极小且逐处核实后使用。去重时保留代码或请求声明的所有权方向,保留已发布的兼容包装。
使用方式:在当前工作区内操作,若为 Git 检出则用 git rev-parse --show-toplevel 确定根目录并停留其中;无 Git 元数据时以当前目录及子目录为边界。每次只做一个命名操作,先找真实绑定引用,跨边界变更先建立基线,再用最语义化的工具修改,最后重建并运行相关测试:dotnet build(0 错误)、dotnet test(保持绿色且通过数不变)。仓库自带构建/测试流程优先。
适用场景:局部或私有成员重命名、内部未发布包装内联、近似类型合并、重复逻辑提取等。
限制:基线已红、结构变更会改变公开/已发布 API 且无法用兼容垫片或转发器保持、等价性依赖测试未覆盖的运行时行为(反射、DI、序列化、动态、P/Invoke)时应停止并报告边界。不得为掩盖未授权行为变更而修改测试。公开可空注解变更、框架或 NuGet 版本升级、新功能、行为变更均不在本技能内处理。具体命令与操作目录映射见资料中的 references/operation-catalog.md。