Design problems are the most expensive to fix later, so I should check whether new code fits the existing architecture and lives in the right place before anything else. If a new developer couldn't find the code in six months, it's probably in the wrong spot.
Automated tests don't catch everything, so I need to manually think through edge cases, race conditions, and resource leaks like unclosed database connections. Sometimes I should ask for a demo or test the feature myself rather than just reading the code.
Complex code takes longer to understand, is harder to change safely, and is more likely to contain bugs, so I should flag functions that do too many things at once. Over-engineering, like adding abstractions with only one implementation, is just as harmful as under-engineering.
Randomly scanning code changes leads to focusing on the wrong things, like style over bugs, so having a structured order starting from design down to details makes reviews more effective. The highest-impact issues should get the most attention first.
Start every code review by evaluating whether the change fits the existing architecture and belongs in the right layer. Design problems are the most expensive to fix later, so address them first before moving to functionality, complexity, or style.
Specifically look for unclosed files, database connections, or sockets, and trace paths where exceptions might skip cleanup code. Race conditions and deadlocks depend on timing and are rarely caught by automated tests, so reason through concurrent logic explicitly.
Use this question as a litmus test for code placement. If the answer is no, the code is likely in the wrong module or class, even if it technically works — for example, business logic hidden in utility classes or UI code inside a data access layer.
If a single function handles input validation, database access, and notifications simultaneously, flag it for decomposition. Functions that do too much are harder to test, harder to change safely, and disproportionately likely to contain bugs.