Skip to content

Refactor: quickfiler-utilities-coverage-and-filesize-residuals #933

Description

@drmoisan
  • Work Mode: minor-audit

Problem / Why

On 2026-09-11 the maintainer deferred sub-findings 1 to 3 of #727 out of the bug run, to be re-filed as refactor work. They were never re-filed. This entry carries the parts not tracked elsewhere. #623 already covers QfcCollectionController.cs and QfcFormControllerTests.cs. QfcQueue.cs is now 439 lines and no longer applies.

  1. Coverage debt: QuickFiler/Controllers/QfcFormController.EventHandlers.cs is at about 49% line coverage, which is below the floor.
  2. Missing from coverage report: StoreWrapperController does not appear in the Cobertura report at all, even though only 2 of its members carry [ExcludeFromCodeCoverage].
  3. 500-line cap violations not covered by Feature: quickfiler-500-line-cap-violations #623:
    • UtilitiesCS/Threading/TimeOutTask.cs: about 1011 lines
    • QuickFiler/Controllers/EfcFormController.cs: about 1189 lines

Implementation Intent

  • Add injectable seams where the Outlook and WinForms handlers block unit testing.
  • Explain the StoreWrapperController report gap, then either fix the instrumentation or record why it is excluded.
  • Split both oversized files into cohesive partial-class parts without changing any public API.

Acceptance Criteria

  • QfcFormController.EventHandlers.cs line coverage is at least 80% on the testable denominator.
  • StoreWrapperController's absence from the coverage report is explained, and it is either instrumented or explicitly exempted under CLAUDE.md UT2.
  • TimeOutTask.cs and EfcFormController.cs are each at most 500 lines.
  • No public API change, and no test assertion is weakened.

Dependencies / Risks

  • QuickFiler.Test.csproj enumerates every Compile Include explicitly.
  • TimeOutTask is shared threading infrastructure. A split must not change its timing semantics.

Verification Steps

  • Whole-assembly runs are green before and after each split.
  • Coverage does not regress on moved lines.

Evidence Checklist

  • Baseline
  • End-state
  • Targeted verification

Source

From: docs/features/potential/2026-09-28-quickfiler-utilities-coverage-and-filesize-residuals.md

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions