Problem
There are at least 15 TODO comments scattered across the codebase marking unfinished work. They represent deferred decisions that accumulate technical debt and confuse future readers.
Inventory
| File |
Line |
TODO text |
src/Farkle/Domain/GameAggregate/Game.cs |
104 |
(raw exception throw — replace with Result) |
src/Farkle/Domain/GameAggregate/GameState.cs |
21 |
TODO: Remove nullable (for GameId?) |
src/Farkle/Endpoints/StartGameEndpoint.cs |
31 |
(player/game wiring incomplete) |
src/Farkle/Endpoints/JoinPlayerEndpoint.cs |
21 |
(missing validation) |
src/Farkle/Endpoints/KeepDiceEndpoint.cs |
25 |
(missing validation) |
src/Farkle/GameService.cs |
41 |
(incomplete implementation) |
src/Farkle/GameService.cs |
48 |
(incomplete implementation) |
src/Farkle/FarkleModuleServiceExtensions.cs |
28 |
(config binding incomplete) |
src/Farkle/FarkleModuleServiceExtensions.cs |
29 |
(config binding incomplete) |
src/WebApp.Client/Pages/Game/Game.razor.cs |
11 |
(component wiring) |
src/WebApp.Client/Features/Actions/JoinPlayer.cs |
11 |
(player name not captured) |
src/WebApp.Client/Features/Actions/JoinPlayer.cs |
20 |
(empty player name sent) |
src/WebApp.Client/Features/Actions/JoinPlayer.cs |
23 |
(state update missing) |
tests/Farkle.WebTests/GameApiWebAppFactory.cs |
31 |
(container config incomplete) |
tests/Farkle.WebTests/GameApiWebAppFactory.cs |
32 |
(container config incomplete) |
Approach
Work through each TODO and either:
- Implement the missing logic (preferred), or
- Delete the comment if the concern is no longer valid, or
- Convert to a new GitHub issue if it's a sizeable feature (link back here)
Related issues: #31 (Ardalis.Result), #32 (nullable GameId), #8 (player name input)
Acceptance Criteria
Problem
There are at least 15
TODOcomments scattered across the codebase marking unfinished work. They represent deferred decisions that accumulate technical debt and confuse future readers.Inventory
src/Farkle/Domain/GameAggregate/Game.cssrc/Farkle/Domain/GameAggregate/GameState.csTODO: Remove nullable(forGameId?)src/Farkle/Endpoints/StartGameEndpoint.cssrc/Farkle/Endpoints/JoinPlayerEndpoint.cssrc/Farkle/Endpoints/KeepDiceEndpoint.cssrc/Farkle/GameService.cssrc/Farkle/GameService.cssrc/Farkle/FarkleModuleServiceExtensions.cssrc/Farkle/FarkleModuleServiceExtensions.cssrc/WebApp.Client/Pages/Game/Game.razor.cssrc/WebApp.Client/Features/Actions/JoinPlayer.cssrc/WebApp.Client/Features/Actions/JoinPlayer.cssrc/WebApp.Client/Features/Actions/JoinPlayer.cstests/Farkle.WebTests/GameApiWebAppFactory.cstests/Farkle.WebTests/GameApiWebAppFactory.csApproach
Work through each TODO and either:
Related issues: #31 (Ardalis.Result), #32 (nullable GameId), #8 (player name input)
Acceptance Criteria
TODOcomments remain in the production source tree after the PRdotnet buildproduces 0 warnings related to these files