We have a Jira workflow Open - In Progress - To Be Reviewd - In Review - Done. That means every subtask of a story must be reviewed by a second team member. As you've mentioned, during review positive things should be highlighted. Negative things should be expressed as "thst could be improved like that" but leaving it open to the implementer to actually do it because most often there is more than one way to do it and there is no wrong. If we're doing pair programming, we skip task based reviews. Juniors review code of seniors and the other way around. Next to TDD, this improved quality a lot and reduced bugs to a minimum.
Similar Jira workflow here, just add "in test", "tested" states if you have dedicated test / QA team ;)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.