Comment by sarchertech

Comment by sarchertech 5 days ago

4 replies

I said very rarely not never. I classify suggested changes in 2 flavors. The first is minor changes where someone suggests "hey this would be easier to read if you used syntax A vs syntax B here".

I get those frequently, and they are usually reasonable suggestions, and I usually graciously accept them. But I say it's not worth bringing up in a PR because 99% of the time it doesn't actually matter in the long run. Both forms will have been used in the code base previously, and which one you think is better really comes down to which one you use more. It's the kind of thing you could change with a sufficiently opinionated linter. And the kind of thing that isn't worth the cost of mandatory PR reviews.

The 2nd is where someone suggests changes to overall architecture or changes to the way the feature or code works large scale.

These are much rarer because of several reasons

1. PR reviews are almost always surface level and so are more likely to catch category 1 than category 2. The incentives at nearly every tech company push for this. 2. Very frequently one person isn't available to review all of the PRs that go into a feature, so the reviewers lack context. 3. It's very unlikely that even if someone wants to dig deeper, that they have the free time to spend even 1% of the time the person who wrote the PR spent on it.

But the biggest reason I personally don't get many of the 2nd category is because I talk through non-trivial problems with other experienced engineers before I get to the PR stage.

greenthrow 5 days ago

You're missing a third category which is "here's another way you could do this..." which isn't just about legibility but more tangible tradeoffs.

Certainly I agree architectural decisions shouldn't be made in every PR and ideally should be discussed before that point.

  • sarchertech 5 days ago

    I'd consider that to fall under my category 2

    "changes to overall architecture or changes to the way the feature or code works large scale"

    I'm not saying there's never a reason to go back and redesign something after a PR review, but in my mind getting a design to that point and then actually needing to change it is a huge failure.

    Far more common the case where someone wants a big design change with no tangible benefits just different tradeoffs.

    I just don't think the ocassional benefit is worth the cost of the process.

    • greenthrow 5 days ago

      You're lumping big changes with small changes. If you really won't go back and change one function or one class because someone shared a better idea at the PR stage that's unhealthy and you will improve by letting go of that.

      • sarchertech 5 days ago

        I never said I won't go back and change a single function. And I never said I wouldn't change things larger than that if asked. I would lump small requests like that in with category 1 (of which a syntax change wasn't meant to an exhaustive example).

        What I said was those kind of requests usually aren't meaningful or impactful long term. They very very rarely make or save anyone a single dollar. Let alone enough money to justify the time spent on the review process.

        If you've already spent the time to suggest the change, if it's slightly better, sure I'll make it. Even if it's not any better, as long as it's not worse, if you feel strongly about it, there's a good chance I'll go along. I just don't think the process has a positive ROI, and I've yet to see any data to convince me otherwise.