mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-13 06:04:30 +08:00
- 优化 GodotYamlConfigEnvironment 目录枚举逻辑,拆分 helper 以消除 MA0051 - 修复 Godot 生命周期 await 的上下文声明,显式保留主线程同步上下文 - 更新 Godot.Tests 异步断言与字符串 comparer,用例项目构建收敛到 0 warning(s) - 补充 analyzer-warning-reduction 跟踪与 trace,记录 RP-053 的批次结果与验证
5.4 KiB
5.4 KiB
Analyzer Warning Reduction 跟踪
目标
继续以“直接看构建输出、直接修构建 warning”为原则推进当前分支,并保持 active recovery 文档只保留当前真值。
当前恢复点
- 恢复点编号:
ANALYZER-WARNING-REDUCTION-RP-053 - 当前阶段:
Phase 53 - 当前焦点:
2026-04-24本轮按$gframework-batch-boot 75重新建立当前分支相对origin/main的 batch 基线,并从整仓Releasebuild 里挑选低风险热点GFramework.Godot已完成一轮独立 warning 清理:GodotYamlConfigEnvironment的目录枚举逻辑已拆分 helper,AbstractArchitecture/SceneBehaviorBase中需要保留 Godot 同步上下文的 await 已显式改为.ConfigureAwait(true)GFramework.Godot.Tests已同步清理对应测试 warning:异步断言显式使用.ConfigureAwait(false),RichTextMarkupTests中测试字典显式指定StringComparer.Ordinal- 当前代码批次相对
origin/main的待提交 diff 为6个文件、107行变更,远低于$gframework-batch-boot 75的主停止阈值;本轮在这里收口,是因为下一批候选将进入GFramework.Game等高基线模块,而不再是同等级低风险切片
当前活跃事实
- 之前记录的 plain
dotnet build0 Warning(s)属于增量构建假阴性,不能再作为 warning 检查真值 - 本轮直接执行仓库根目录
dotnet clean仍在ValidateSolutionConfiguration阶段失败,输出未提供具体 error 文本 - 本轮直接执行仓库根目录
dotnet build GFramework.sln -c Release成功,并给出1122 warning(s)的当前整仓观测值 GFramework.Godot/GFramework.Godot.csproj -c Release在本轮收尾验证中已达到0 Warning(s)、0 Error(s)GFramework.Godot.Tests/GFramework.Godot.Tests.csproj -c Release在串行复验中已达到0 Warning(s)、0 Error(s)- 本轮已验证
dotnet test GFramework.Godot.Tests/GFramework.Godot.Tests.csproj -c Release --filter "FullyQualifiedName~AbstractArchitectureModuleInstallationTests|FullyQualifiedName~GodotYamlConfigLoaderTests|FullyQualifiedName~RichTextMarkupTests",结果为Passed: 15 GFramework.Godot原先暴露的MA0051与MA0004热点都已清理完成;当前同域低风险切片基本耗尽
当前风险
- 如果后续继续依赖增量
dotnet build,容易再次把 warning 数量误判为 0- 缓解措施:每轮 warning 检查前先执行
dotnet clean,再执行目标dotnet build
- 缓解措施:每轮 warning 检查前先执行
- 仓库根目录
dotnet clean目前仍然无法给出新的 clean 基线- 缓解措施:若下一轮继续做整仓 warning reduction,先定位
dotnet clean的 solution-level 失败原因,或明确继续沿用用户确认的1193 warning(s)clean 基线与本轮1122 warning(s)direct build 观测值
- 缓解措施:若下一轮继续做整仓 warning reduction,先定位
- 当前 worktree 仍存在未跟踪的
.codex目录- 缓解措施:提交当前批次时只暂存 analyzer-warning-reduction 相关源码与
ai-plan文件,避免把工作目录辅助文件混入提交
- 缓解措施:提交当前批次时只暂存 analyzer-warning-reduction 相关源码与
- 下一轮最明显的剩余热点将转入
GFramework.Game等高 warning 基线模块- 缓解措施:恢复时先重新跑整仓 build 热点筛选,再决定是否接受更高上下文成本的
GFramework.Game切片,或先排查 solution-level clean 失败原因
- 缓解措施:恢复时先重新跑整仓 build 热点筛选,再决定是否接受更高上下文成本的
活跃文档
- 当前轮次归档:
- 历史跟踪归档:
- 历史 trace 归档:
验证说明
dotnet clean GFramework.sln -c Release- 结果:失败;停在 solution
ValidateSolutionConfiguration,0 Warning(s)、0 Error(s),未输出更具体的 error 文本
- 结果:失败;停在 solution
dotnet build GFramework.sln -c Release- 结果:成功;
1122 Warning(s)、0 Error(s)
- 结果:成功;
dotnet build GFramework.Godot/GFramework.Godot.csproj -c Release- 结果:成功;
0 Warning(s)、0 Error(s)
- 结果:成功;
dotnet test GFramework.Godot.Tests/GFramework.Godot.Tests.csproj -c Release --filter "FullyQualifiedName~AbstractArchitectureModuleInstallationTests|FullyQualifiedName~GodotYamlConfigLoaderTests|FullyQualifiedName~RichTextMarkupTests"- 结果:成功;
Passed: 15、Failed: 0
- 结果:成功;
dotnet build GFramework.Godot.Tests/GFramework.Godot.Tests.csproj -c Release- 首次并行验证:成功;
1 Warning(s)、0 Error(s);MSB3026来自与并行dotnet test竞争同一输出 DLL - 串行复验:成功;
0 Warning(s)、0 Error(s)
- 首次并行验证:成功;
下一步建议
- 提交当前
GFramework.Godot/GFramework.Godot.Testswarning 清理批次,并继续保持只纳入本 topic 相关文件 - 下一轮若继续使用
$gframework-batch-boot 75,先决定是优先排查 solution-leveldotnet clean失败,还是接受更高上下文成本进入GFramework.Gamewarning 热点