I will not talk about why here as most of us know about why should we do it
Because we cannot improve something we don’t know, let’s think about how a reviewer can be called “good” before answering the previous question.
Good reviewer is the one who can provide good review, and how is a review that can be called good
How to have a review that is correct, insightful and professional?
Correct comes from knowledge, experience
Insightful comes from curiosity
Professional comes from attitude
Good reviewer needs to be good developer (even though the opposite is not necessary true). There are no shortcut around that, if you want your review to be good, then you need to strive to be good developer first.
Though, don’t be discouraged if you think you’re novice. Read more code and review them is also a way to make your code better.
If technical ability helps you in creating correct review, then curiosity helps you create insightful one. If you cannot answer any questions in these, ask the creator of the pull request.
Given that we know the ability, then how can we achieve them?
The most important thing is continuation. Making it a habit will remove the need of willpower, and making reviewing effortless