mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-06 16:16:44 +08:00
- 修复 SceneBehaviorBase 中暂停、恢复、卸载方法的缩进,消除 PR review 指向的格式问题 - 更新 analyzer-warning-reduction 的 tracking 与 trace,记录 PR #286 latest-head review 跟进和验证结果 - 补充 GFramework.Godot 的 Release build 与 dotnet format verify 结论,保留后续 warning reduction 恢复点
7.3 KiB
7.3 KiB
Analyzer Warning Reduction 跟踪
目标
继续以“直接看构建输出、直接修构建 warning”为原则推进当前分支,并保持 active recovery 文档只保留当前真值。
当前恢复点
- 恢复点编号:
ANALYZER-WARNING-REDUCTION-RP-058 - 当前阶段:
Phase 58 - 当前焦点:
2026-04-24使用$gframework-pr-review复核当前分支 PR #286 的 latest-head review threads、MegaLinter 与测试状态- 已确认最新 head 上唯一未解决的实质代码线程指向
GFramework.Godot/Scene/SceneBehaviorBase.cs中OnPauseAsync的缩进异常,并顺带对齐OnResumeAsync、OnUnloadAsync dotnet build GFramework.Godot/GFramework.Godot.csproj -c Release通过,结果为565 Warning(s)、0 Error(s);当前跟进只处理 PR review 指向的格式问题,不扩散到既有 warning 基线dotnet format GFramework.Godot/GFramework.Godot.csproj --verify-no-changes --no-restore --include GFramework.Godot/Scene/SceneBehaviorBase.cs已通过,当前文件不再残留格式差异
当前活跃事实
- 之前记录的 plain
dotnet build0 Warning(s)属于增量构建假阴性,不能再作为 warning 检查真值 - 仓库根目录
dotnet clean GFramework.sln -c Release仍在ValidateSolutionConfiguration阶段失败,项目级dotnet clean GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release也未能稳定提供 clean 基线 - 当前整仓最近一次直接观测值仍是
dotnet build GFramework.sln -c Release的116 warning(s) RP-056已验证GeneratedConfigConsumerIntegrationTests.cs不再出现在项目 build warning 输出中RP-057已验证PersistenceTests.cs不再出现在dotnet build GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release --no-incremental的 warning 输出中- 本轮已验证
dotnet test GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release --filter "FullyQualifiedName~UnifiedSettingsDataRepository_SaveAsync_When_Persist_Fails_Should_Keep_Cache_Consistent|FullyQualifiedName~UnifiedSettingsDataRepository_DeleteAsync_When_Persist_Fails_Should_Keep_Cache_Consistent",结果为Passed: 2 GFramework.Game.Tests当前剩余热点已经几乎完全集中到YamlConfigLoaderTests.cs这一高上下文文件- PR #286 当前标题为
Fix/analyzer warning reduction batch;最新抓取时间点的 PR 状态仍为OPEN - 最新 reviewed commit 为
2b707343577193fc9904517e6078149653e95698,CodeRabbit 于2026-04-24T12:44:12Z给出CHANGES_REQUESTED - latest-head review threads 中只有
1个未解决线程,内容是SceneBehaviorBase.OnPauseAsync的缩进不一致;本地源码已修复并扩展到同段的OnResumeAsync/OnUnloadAsync - MegaLinter 的
dotnet-format详细问题与上述格式异常一致;本地dotnet format --verify-no-changes已通过 - PR 上其余 nitpick 仅为可选建议或已明确留待后续批次处理,当前没有额外需要立即修复的 latest-head 代码线程
当前风险
- 如果后续继续依赖增量
dotnet build,容易再次把 warning 数量误判为 0- 缓解措施:每轮 warning 检查前先执行
dotnet clean,再执行目标dotnet build
- 缓解措施:每轮 warning 检查前先执行
- 仓库根目录与
GFramework.Game.Tests的dotnet clean目前都无法给出新的 clean 基线- 缓解措施:后续若继续整仓 warning reduction,需要单独定位 clean 失败原因,或明确继续沿用 direct build 观测值作为临时真值
- 当前 worktree 仍存在未跟踪的
.codex目录- 缓解措施:提交当前批次时只暂存 analyzer-warning-reduction 相关源码与
ai-plan文件,避免把工作目录辅助文件混入提交
- 缓解措施:提交当前批次时只暂存 analyzer-warning-reduction 相关源码与
- 下一轮若继续深入
GFramework.Game.Tests,很可能需要进入YamlConfigLoaderTests.cs这种高上下文大文件- 缓解措施:把它单独作为一个明确的新批次处理,不与其它 warning family 混批
- PR 标题检查当前仍显示
Inconclusive- 缓解措施:如需让该检查转绿,需要单独更新 GitHub PR 标题;这不属于本地代码修改范围
活跃文档
- 当前轮次归档:
- 历史跟踪归档:
- 历史 trace 归档:
验证说明
dotnet clean GFramework.sln -c Release- 结果:失败;停在 solution
ValidateSolutionConfiguration,0 Warning(s)、0 Error(s),未输出更具体的 error 文本
- 结果:失败;停在 solution
dotnet build GFramework.sln -c Release- 结果:成功;
116 Warning(s)、0 Error(s)
- 结果:成功;
dotnet clean GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release- 结果:失败;clean 阶段在 MSBuild 清理路径结束前返回
0 Warning(s)、0 Error(s),未输出额外错误文本
- 结果:失败;clean 阶段在 MSBuild 清理路径结束前返回
dotnet build GFramework.Game.Tests/GFramework.Game.Tests.csproj -c ReleaseRP-055收尾结果:成功;63 Warning(s)、0 Error(s)RP-056当前结果:成功;59 Warning(s)、0 Error(s)
dotnet build GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release --no-incrementalRP-057热点重排前:成功;253 Warning(s)、0 Error(s)RP-057当前结果:成功;249 Warning(s)、0 Error(s)
dotnet test GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release --filter "FullyQualifiedName~ArchitectureConfigIntegrationTests|FullyQualifiedName~GameConfigBootstrapTests|FullyQualifiedName~JsonSerializerTests"- 结果:成功;
Passed: 19、Failed: 0
- 结果:成功;
dotnet test GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release --filter "FullyQualifiedName~GeneratedConfigConsumerIntegrationTests"- 结果:成功;
Passed: 4、Failed: 0
- 结果:成功;
dotnet test GFramework.Game.Tests/GFramework.Game.Tests.csproj -c Release --filter "FullyQualifiedName~UnifiedSettingsDataRepository_SaveAsync_When_Persist_Fails_Should_Keep_Cache_Consistent|FullyQualifiedName~UnifiedSettingsDataRepository_DeleteAsync_When_Persist_Fails_Should_Keep_Cache_Consistent"- 结果:成功;
Passed: 2、Failed: 0
- 结果:成功;
dotnet build GFramework.Godot/GFramework.Godot.csproj -c Release- 结果:成功;
565 Warning(s)、0 Error(s)
- 结果:成功;
dotnet format GFramework.Godot/GFramework.Godot.csproj --verify-no-changes --no-restore --include GFramework.Godot/Scene/SceneBehaviorBase.cs- 首次运行:失败;restore 阶段异常退出,未进入格式验证
- 第二次运行(同命令追加 sandbox 提权):成功;workspace 仅提示加载 warning,无格式差异
下一步建议
- 提交
SceneBehaviorBase.cs与RP-058tracking/trace 更新,清掉 PR #286 当前 latest-head 上的格式类 review thread - 若继续 warning reduction 主线,应回到
GFramework.Game.Tests/Config/YamlConfigLoaderTests.cs,把它作为独立高上下文批次处理