Most of us review code in the wrong order. We spot a missing test or a style inconsistency before even asking whether the code is correct. We should think about it differently.
The first question should always be: Does this code do what it is supposed to do? If the answer is no, nothing else matters. Style, structure, tests - all secondary to correctness.
Once you are confident it is correct, ask if it is clear. Can someone else (or you, six months from now) understand what is happening and why? Clarity in code helps ensure it does not become a liability.
Then check whether it matches the style and conventions, because inconsistencies add cognitive load for everyone who reads the codebase afterward.
After that, look for duplication. Is this solving a problem that is already solved somewhere else? Could this be a shared utility?
Finally, ask whether it is well tested. Not just “are there tests” (non-sensical ones), but do the tests actually cover the meaningful cases?
Correctness. Clarity. Style. Deduplication. Tests. In that order, every time.