Merge pull request 'Track the framework submodule and add code review record RC-004' (#13) from track-framework-and-rc-004 into main
Reviewed-on: Tirsvad-Udemy-100_days_of_code/016-pretty_table#13
This commit was merged in pull request #13.
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
[submodule "framework"]
|
||||
path = framework
|
||||
url = ssh://git@git.tirsystem.com:10022/TirSystem/SQA-QC-Framework.git
|
||||
@@ -15,7 +15,7 @@ document of a type. `Primary File` may contain a glob (e.g.
|
||||
| SA | Stakeholder Analysis | docs/stakeholder-analysis.md | 002 |
|
||||
| PP | Project Plan | docs/project-plan.md | 002 |
|
||||
| MIL | Milestone / Gateway | docs/milestones/*.md | 002 |
|
||||
| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 004 |
|
||||
| RC | SQA Review Record | docs/sqa/reviews/rc-*.md | 005 |
|
||||
|
||||
## Languages
|
||||
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# SQA Review Record
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | RC-004 |
|
||||
| CrossReference | [MIL-001], [QC-PY-001] |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-07 | Proposed | Jens Tirsvad Nielsen | S01 | Initial version | [10337f4] |
|
||||
|
||||
---
|
||||
|
||||
## Artifact Under Review
|
||||
|
||||
- Instance reviewed: Python source code in `src/pretty_table/` and its tests in `tests/` (task 9 of [MIL-001], Go criterion 6)
|
||||
- Checklist used: [QC-PY-001] (`qc-programming-python.md`)
|
||||
- Scope: full review
|
||||
- Language and domain: n/a (technical type)
|
||||
- Language reviewer: none
|
||||
|
||||
## Checklist Results
|
||||
|
||||
| # | Criterion | Status | Evidence/Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | PEP 8 casing | Pass | Modules `constants.py`, `main.py`; functions `create_table`, `main`; constants `COLUMN_NAME`, `POKEMON` |
|
||||
| 2 | Names state purpose; no abbreviations | Pass | Minor: the comprehension variable `type_` in `main.py` could be `pokemon_type`, which avoids the trailing underscore. Not a defect |
|
||||
| 3 | Formatter and linter pass, no suppressions | Pass | `ruff format --check .` reports 17 files already formatted; `ruff check .` passes; no `noqa` comments |
|
||||
| 4 | Every signature annotated | Pass | `create_table() -> PrettyTable`, `main() -> None`, all test functions annotated |
|
||||
| 5 | No bare except or swallowed exceptions | N-A | The code has no exception handling |
|
||||
| 6 | No mutable defaults, no shadowed builtins | Pass | No default arguments; no builtin names shadowed |
|
||||
| 7 | Context managers for files, locks and connections | N-A | The code opens no files, locks or connections |
|
||||
| 8 | Docstrings say what, not how | Pass | Every module and function has a Doxygen docstring |
|
||||
| 9 | `logging` instead of `print`; no secrets in output | Pass | `main()` uses `print` to produce the program's required output, not diagnostics; no secrets or personal data are printed |
|
||||
| 10 | Classes and operations trace to a DCD | N-A | The task is a plain technical task (MIL-001 task 3, no use case or DCD); there is no DCD in the project |
|
||||
| 11 | Tests for new behaviour, named for the behaviour, order- and network-independent | Pass | 8 tests in `tests/test_main.py` and `tests/test_constants.py`; `python -m pytest` passes |
|
||||
| 12 | Type checker strict, `Any` justified | Pass | `mypy` (strict, set in `pyproject.toml`) reports no issues in 7 source files; no `Any` |
|
||||
| 13 | Dependencies declared and pinned, none unused | Pass | `prettytable>=3.10` is declared and used; dev tools are in the `dev` extra. The pin is a lower bound, not an exact version |
|
||||
|
||||
## Overall Verdict
|
||||
|
||||
Go — every mandatory criterion passes or does not apply, and the optional criteria pass. This satisfies Go criterion 6 of [MIL-001]. The author and the reviewer are both S01, the only stakeholder, as in RC-001 to RC-003.
|
||||
|
||||
## Action Items
|
||||
|
||||
| Action | Owner | Due |
|
||||
| --- | --- | --- |
|
||||
| Optionally rename `type_` to `pokemon_type` in `main.py` | S01 | next change to `main.py` |
|
||||
| Re-review RC-001 to RC-003 against the checklists in `framework/qc/`, which were missing when those records were written | S01 | when convenient |
|
||||
|
||||
---
|
||||
|
||||
[MIL-001]: ../../milestones/mil-001-pretty-table-project.md
|
||||
[QC-PY-001]: ../../../framework/qc/qc-programming-python.md
|
||||
[10337f4]: https://git.tirsystem.com/Tirsvad-Udemy-100_days_of_code/016-pretty_table/commit/10337f404f9bfebaaeabdd7beb1ce4683737f7bc
|
||||
Submodule
+1
Submodule framework added at ce1f9ddd3c
Reference in New Issue
Block a user