this post was submitted on 14 Nov 2023
730 points (97.0% liked)

Programmer Humor

18979 readers
941 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
730
Merge then review (programming.dev)
submitted 9 months ago* (last edited 9 months ago) by agilob@programming.dev to c/programmer_humor@programming.dev
 

Move fast and break things.
Merge vulnerabilities.
Double the work.
Merge code without tests.
Anything, but don't let code become stale.

you are viewing a single comment's thread
view the rest of the comments
[–] Blackthorn@programming.dev 1 points 9 months ago (4 children)

Probably unpopular opinion, but peer reviews are overrated. If coders are good AND know the project, the only thing you can do in a PR is nitpicking. They are more useful for open source collaborators because you want to double-check their code fits with the current architecture. But people here are reacting as if peer reviews could actually spot bugs that tests can't catch. That happens rarely unless the contributor is junion/not good.

[–] pomodoro_longbreak@sh.itjust.works 12 points 9 months ago

Peer reviews can catch bugs that tests can't catch.

I won't disagree that peer reviews are overrated, but they're a great way to train and onboard less experienced devs (who are just more fun to work with, anyway). Like I'm a platform dev, so I don't have a "home" project - if I had to know every project before I opened a PR for it, I'd get hardly any work done. Review help other knowledge experts weigh in on my changes.

Anyway, one case for being pro

[–] reverendsteveii@lemm.ee 8 points 9 months ago

I operate from the presumption that code's first job is to be as easy for a human to understand as possible. It should clearly communicate what it's attempting to do. If your code isn't written so that your colleagues, or you 2 years from now, can read it and understand it, it's bad even if it's whip tight, fits all the AC and has 100% test coverage with a perfect mutation score. That's what I focus on when I review code: does it communicate intent semantically. Code that can be understood is code that can be reused, optimized, altered when use cases change, generalized out into even more reusable code, and provide insights that technically perfect but incomprehensible code can't. I, like you, assume that the coder knows what they were trying to do and how to test for it, so that only gets a cursory glance to spot common errors like missed nullables, inverted conditionals and shit like that. I look at it from the perspective of "If I had to add functionality to this, could I do so easily". Because I'm gonna one of these days.

[–] muddi@hexbear.net 3 points 9 months ago

Nitpicking can be automated by a linter, then reviews can actually sit back and review more important things like high-level design and scalability

as if peer reviews could actually spot bugs that tests can't catch

There can't be bugs if there are no tests to catch them! Ofc you can also automate test coverage standards. But PRs are sometimes the only way to catch bugs, even and especially with senior devs in my experience bc they are lazy and will skip writing tests, or write useless or bare minimum tests just to check off code standards and merge on ahead

[–] the_artic_one@programming.dev 1 points 9 months ago (1 children)

If coders are good AND know the project

Those are some pretty big ifs.

[–] Blackthorn@programming.dev 1 points 9 months ago

Code review can't fix incompence though. I lost count of how many times my boss told me "review that PR well because X is not very good". Also my point is that they are overrated, not that they are useless.