How I handle pull requests
I open a lot of pull requests. Most of them are small on purpose. Here is the routine I have settled on — nothing clever, just habits that make the review quick and the history readable a year later.
One PR, one idea
The single biggest thing: a pull request should do one thing. If I can’t describe it in a sentence without using the word “and”, it’s two PRs. A reviewer can hold one idea in their head. Ask them to hold five and they start skimming — which is where bugs slip through.
Small PRs are also faster to write. I’m not batching a day of work into a wall of diff; I’m shipping the moment a change stands on its own.
Write the description for the reviewer, not for me
The description answers three questions before anyone reads the code:
- What changed, in plain English.
- Why — the problem it solves, not the mechanics.
- How to check it — the exact steps to see it working.
If there’s a decision I went back and forth on, I say so, and I say why I landed where I did. That’s the comment that saves a round-trip.
Keep the history clean
I rebase rather than pile up merge commits, and I squash the “fix typo” noise before I ask for review. The goal is a history where every commit is a real step, so git log reads like a story and git bisect actually works.
# Tidy the branch before review
git rebase -i main
git push --force-with-lease
--force-with-lease instead of --force — it refuses the push if someone else has touched the branch, which has saved me from clobbering work more than once.
Review my own PR first
Before I request anyone else, I read the whole diff in the PR view — not the editor. Seeing it the way a reviewer will catches the stray console.log, the commented-out block, the file I didn’t mean to include. Roughly half my own review comments happen here, before another person spends any time.
Let the machine do the boring checks
Formatting, linting, types, tests — none of that should be a human comment. CI handles it, and I don’t ask for review until it’s green. Human attention is expensive; I save it for the things only a person can catch: is this the right change, and is it correct.
None of this is strict. When something’s genuinely urgent I break every rule here. But most of the time these habits are the difference between a PR that merges in an hour and one that sits for three days.