Add DRY, dependency and SOLID criteria to the code checklists (MIL-009 task 5) #5

Merged
Tirsvad merged 2 commits from g9-code-structure-criteria into main 2026-10-09 05:28:28 +02:00
Owner

Summary

MIL-009 task 5 (project repository TirSystem/sqa-and-qc, gateway G9), checklist half: adds criteria for DRY, the dependency rule and SOLID to the code checklists. The rules themselves are defined once in the framework's coding-conventions skill (framework PR in TirSystem/SQA-QC-Framework, branch g9-code-structure-rules); each criterion says what a reviewer checks and names the rule in its Notes.

New criteria, appended after the existing ones. Nothing is renumbered and no existing criterion changed (the diff is 33 insertions, no deletions).

Checklist New criteria
qc-programming-python.md 14 DRY, 15 imports point inward, 16 SOLID
qc-programming-cpp.md 14 DRY, 15 includes and links point inward, 16 SOLID
qc-programming-csharp.md 14 DRY, 15 references point inward, 16 SOLID
qc-programming-c.md 14 DRY, 15 includes point inward, with one responsibility per module
qc-programming-shell.md 15 DRY
qc-dcd.md 9 dependencies point inward

This is the split decided by S01 on 2026-10-08: DRY in all five code checklists, the dependency rule in all but shell, SOLID in Python, C++ and C# (C and shell have no SOLID criterion). qc-dcd.md criterion 8 already forbids circular dependencies, so the new criterion 9 adds only the missing "point inward" half. Every criterion is tagged with an ISO/IEC 25010 characteristic and has a Common Defects bullet. Each checklist has a new Proposed Version History row with reviewer S02.

Acceptance

Coding-standard changes are accepted by S02 with S06 consulted (Coding Standards Governance, CSG-001 in the project). These rows stay Proposed until S02 records the acceptance. A delta re-review of the new criteria only (MIL-009 task 10) comes first.

All new criteria are Mandatory, including SOLID as one compound criterion (as qc-dcd.md criterion 1 is). S02 may prefer Optional for some; say so in review.

This is governance of coding standards (definition and review), not enforcement.

Checks

  • Every added table row has the right number of columns.
  • The 12 rule titles quoted in the Notes (5 DRY, 4 dependency, 3 SOLID) each match a rule title in the framework's coding-conventions skill.

Not in this PR

The qc/ pointer in the framework moves with the v0.5.0 release (MIL-009 task 11), after this PR is merged.

Issues

Refs TirSystem/sqa-and-qc#109

(Closed by the framework PR, when both halves exist.)

## Summary MIL-009 task 5 (project repository `TirSystem/sqa-and-qc`, gateway G9), checklist half: adds criteria for DRY, the dependency rule and SOLID to the code checklists. The rules themselves are defined once in the framework's `coding-conventions` skill (framework PR in `TirSystem/SQA-QC-Framework`, branch `g9-code-structure-rules`); each criterion says what a reviewer checks and names the rule in its Notes. New criteria, appended after the existing ones. Nothing is renumbered and no existing criterion changed (the diff is 33 insertions, no deletions). | Checklist | New criteria | | --- | --- | | `qc-programming-python.md` | 14 DRY, 15 imports point inward, 16 SOLID | | `qc-programming-cpp.md` | 14 DRY, 15 includes and links point inward, 16 SOLID | | `qc-programming-csharp.md` | 14 DRY, 15 references point inward, 16 SOLID | | `qc-programming-c.md` | 14 DRY, 15 includes point inward, with one responsibility per module | | `qc-programming-shell.md` | 15 DRY | | `qc-dcd.md` | 9 dependencies point inward | This is the split decided by S01 on 2026-10-08: DRY in all five code checklists, the dependency rule in all but shell, SOLID in Python, C++ and C# (C and shell have no SOLID criterion). `qc-dcd.md` criterion 8 already forbids circular dependencies, so the new criterion 9 adds only the missing "point inward" half. Every criterion is tagged with an ISO/IEC 25010 characteristic and has a Common Defects bullet. Each checklist has a new `Proposed` Version History row with reviewer S02. ## Acceptance Coding-standard changes are accepted by S02 with S06 consulted (Coding Standards Governance, CSG-001 in the project). These rows stay `Proposed` until S02 records the acceptance. A delta re-review of the new criteria only (MIL-009 task 10) comes first. All new criteria are `Mandatory`, including SOLID as one compound criterion (as `qc-dcd.md` criterion 1 is). S02 may prefer `Optional` for some; say so in review. This is governance of coding standards (definition and review), not enforcement. ## Checks - Every added table row has the right number of columns. - The 12 rule titles quoted in the Notes (5 DRY, 4 dependency, 3 SOLID) each match a rule title in the framework's `coding-conventions` skill. ## Not in this PR The `qc/` pointer in the framework moves with the `v0.5.0` release (MIL-009 task 11), after this PR is merged. ## Issues Refs TirSystem/sqa-and-qc#109 (Closed by the framework PR, when both halves exist.)
Tirsvad added 2 commits 2026-10-09 05:27:13 +02:00
New criteria, appended after the existing ones (nothing renumbered or
changed):

- DRY in all five qc-programming-* checklists (python, c, cpp, csharp, shell)
- dependency rule in all but shell (imports, includes or references point
  inward, no cycles; in C also one responsibility per module)
- SOLID in python, cpp and csharp
- qc-dcd.md criterion 9: dependencies between classes and packages point
  inward (cycles stay with criterion 8)

Each is tagged with an ISO/IEC 25010 characteristic, and the criterion Notes
name the rule in the framework's coding-conventions skill, which defines it
once. Each checklist has a new Proposed Version History row for S02, who
accepts coding-standard changes. Common Defects gain a bullet per criterion.
Tirsvad merged commit 577520dbb8 into main 2026-10-09 05:28:28 +02:00
Sign in to join this conversation.