mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-13 14:14:29 +08:00
- 修复 SchemaConfigGeneratorTests 中冗余的 global:: 返回类型声明 - 归档 analyzer-warning-reduction 主题的 RP-002 至 RP-041 详细 tracking 与 trace 历史 - 更新 RP-042 的 active 跟踪与验证记录以反映 PR #280 follow-up 结论
4.4 KiB
4.4 KiB
Analyzer Warning Reduction 跟踪
目标
继续以“优先低风险、保持行为兼容”为原则收敛当前仓库的 Meziantou analyzer warnings,并确保 active recovery 入口保持精简、可恢复。
当前恢复点
- 恢复点编号:
ANALYZER-WARNING-REDUCTION-RP-042 - 当前阶段:
Phase 42 - 当前焦点:
- 已于
2026-04-24使用gframework-pr-review复核当前分支 PR #280,latest-head review 仍有3条 open threads - 本地确认仍成立的项只有两类:
SchemaConfigGeneratorTests的冗余global::返回类型,以及 active tracking/trace 需要归档压缩 Greptile指出的返回类型冗余不影响行为;本轮按最小改动收口,避免扩大测试写集RP-041验证完成时,分支相对origin/main的唯一变更文件数为4;这说明继续只处理同一热点文件时,该指标增长会很慢GFramework.SourceGenerators.Tests在RP-042的net10.0Release build 中仍为10条MA0051warning、0error;剩余热点继续集中在CqrsHandlerRegistryGeneratorTests.cs
- 已于
当前状态摘要
- 已将旧 active tracking / trace 的详细阶段历史归档到主题内
archive/,避免boot默认入口继续承载RP-002到RP-041的长历史 - 当前 active 文档仅保留恢复点、活跃事实、风险、验证结论与下一步建议
- PR #280 的 MegaLinter 仍显示
dotnet-formatwarning,但测试报告为2156 passed / 0 failed;该 warning 目前更像 CI 环境 restore / SDK 噪音,而不是本地代码行为回归
当前活跃事实
- 当前主题仍保持 active,因为
GFramework.SourceGenerators.Tests尚有剩余MA0051warning 需要决定是否继续推进 - 继续按“单文件单方法”节奏处理
CqrsHandlerRegistryGeneratorTests.cs可以稳定消除 warning,但不利于快速提高唯一变更文件数 - 当前 PR review 已没有新的 failed-test 信号;后续优先级应回到本地仍成立的 review thread 和剩余 warning 热点
当前风险
- warning 治理策略风险:如果用户仍以“唯一变更文件数接近
75”作为目标,继续深挖同一测试文件会让目标推进缓慢- 缓解措施:下一轮先确认是继续压低
MA0051基线,还是切换到新的文件写集
- 缓解措施:下一轮先确认是继续压低
- WSL 构建环境风险:当前 worktree 的 .NET 定向验证仍需显式附带
-p:RestoreFallbackFolders=,并在沙箱外运行以规避命名管道 / socket 限制- 缓解措施:后续所有 affected-project Release build 继续复用该参数组合
- source generator test warning 范围风险:一旦继续触达
GFramework.SourceGenerators.Tests,剩余 warning 会继续成为本轮完成条件的一部分- 缓解措施:继续用最小写集和 warnings-only build 锁定范围
活跃文档
- 历史跟踪归档:
- 历史 trace 归档:
验证说明
DOTNET_CLI_HOME=/tmp/dotnet-home dotnet restore GFramework.SourceGenerators.Tests/GFramework.SourceGenerators.Tests.csproj -p:RestoreFallbackFolders=""- 结果:通过;重写了受 Windows fallback package folder 影响的测试项目资产文件
DOTNET_CLI_HOME=/tmp/dotnet-home dotnet build GFramework.SourceGenerators.Tests/GFramework.SourceGenerators.Tests.csproj -c Release -t:Rebuild --no-restore --disable-build-servers -m:1 -p:UseSharedCompilation=false -p:RestoreFallbackFolders="" -nologo -clp:"Summary;WarningsOnly"- 结果:
10 Warning(s),0 Error(s);warning 仍全部来自CqrsHandlerRegistryGeneratorTests.cs的既有MA0051基线
- 结果:
下一步建议
- 提交
RP-042后重新抓取 PR #280 review,确认这3条 latest-head open threads 是否随新提交收敛 - 若 PR threads 收敛,再决定下一轮是继续清理
CqrsHandlerRegistryGeneratorTests.cs的剩余MA0051,还是切换到新的文件写集 - 如果仍要继续沿用“唯一变更文件数接近
75”的目标,应优先切到新的 warning 写集,而不是继续深挖同一测试文件