1.7 KiB
1.7 KiB
Audit - LanguageAnalyzerSmoke
Project
- Path:
src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmoke.csproj - Module:
Tools - Kind:
Tool - SDK:
Microsoft.NET.Sdk - TargetFramework:
net10.0 - Audit date (UTC): 2026-01-30
Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 2
- Service locator usage (BuildServiceProvider/GetService): 3
- Analyzer enforcement: missing repo-wide (see summary).
Details
- 100-line files:
src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeRunner.cs(468 lines)src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeApp.cs(113 lines)
- Service locator matches:
src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeRunner.cs:221 using var serviceProvider = BuildServiceProvider();src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeRunner.cs:381 private static ServiceProvider BuildServiceProvider()src/Tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmokeRunner.cs:385 return services.BuildServiceProvider();
Fix Guidance
- Split files over 100 lines into smaller types or partials.
- Replace service locator usage with constructor injection.
Testing Fullness Findings
- Status: FAIL
- Expected layers: Unit, CLI, Offline
- Detected test projects: src/Tools/__Tests/LanguageAnalyzerSmoke.Tests/LanguageAnalyzerSmoke.Tests.csproj [Unit]
- Missing layers: CLI, Offline
Manual checks required
- Observability contract tests for WebService/Worker.
- Offline execution (tests must run without network access).
Fix Guidance
- Add offline/airgap coverage with fixtures only.
- Add CLI tests for exit codes and golden output.