A tough issue is a code-review problem serious enough to demand substantial rework, delay, or acceptance of technical debt. It often begins as an expected issue whose consequences are severe or difficult to resolve. section 4.4.4
Look for expected issues that could become tough issues:
- Complexity that makes intent difficult to follow, such as giant classes, excessive layers, or over-abstraction. section 4.4.4
- Security vulnerabilities that could compromise systems or sensitive data. section 4.4.4
- Performance problems likely to appear in production or at scale. section 4.4.4
- Unhandled edge cases, undefined behavior, insufficient logging, or hacks that require clarification before approval. section 4.4.4
From review comment to tough issue
A reviewer notices two giant classes containing most of the system’s behavior. The concern is not merely stylistic: the complexity may obscure intent, make maintenance difficult, and require substantial rework. The team must decide whether to revise the design now or accept the resulting technical debt. section 4.4.4
