Move fast and break things.
Merge vulnerabilities.
Double the work.
Merge code without tests.
Anything, but don’t let code become stale.
Merge then review
Submitted 9 months ago by agilob@programming.dev to programmer_humor@programming.dev
https://programming.dev/pictrs/image/de660c5d-e1cd-4ac7-a0e1-a5b235046bc6.png
Comments
RenegadeTwister@lemmy.world 9 months ago
[deleted]MashedTech@lemmy.world 9 months ago
Modern agile is just waterfall with steps.
DrMango@lemmy.world 9 months ago
Wait… waterfall is waterfall with steps 🤔
vrkr@programming.dev 9 months ago
Something like that literally happened to me yesterday. I reviewed one PR, then some Important Guy came in and said:
- it is nice you reviewed my work, but we need to push this to production right now.
- just fix these things, I described you how. Just copy/paste these snippets
- these are cosmetics, I don’t care
- "cosmetics", huh?
- gfy and push this to production right now
- well, ok
Of course, lack of these “cosmetics” caused crash in production.
Blackthorn@programming.dev 9 months ago
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 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 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 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 9 months ago
If coders are good AND know the project
Those are some pretty big ifs.
Blackthorn@programming.dev 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.
MeanEYE@lemmy.world 9 months ago
Am not sure I disagree but I don’t agree completely. It’s insane to merge things that go to production without testing. However at the same time I don’t like continuous integration one bit. Open source mantra is great in my opinion. Release early, release often. If code chews some important data, have a test version of it that needs to run some time before it gets pushed to production.
Delaying merge of someone’s code means branches get further and further apart. At the same time code in main branch gets fixed and tested the most. I would merge often but only full features. None of the half-done stuff. Let humans test it a bit before it reaches target audience. That is usually good enough to catch most bugs. Those that do happen to leak into production are easily fixed since you have fast development cycle and deployment pipeline. And backup frequently.
Diplomjodler@feddit.de 9 months ago
Test it? Meh. Just ship it.
agilob@programming.dev 9 months ago
It compiles = it goes to prod!
aaaaaaadjsf@hexbear.net 9 months ago
“Xtreme programming practices”.
Lmao what!
Locrin@lemmy.world 9 months ago
Does he work at Rivian?
ikidd@lemmy.world 9 months ago
The “send it” school of PRs.
SVcross@lemmy.world 9 months ago
Didn’t knew KenM was on LinkedIn.
schnurrito@discuss.tchncs.de 9 months ago
I mean this is basically a wiki, isn’t it.
Shinji_Ikari@hexbear.net 9 months ago
A typo in the first paragraph of the article in a wiki wont make the 5th paragraph tear down the entire wiki.
schnurrito@discuss.tchncs.de 9 months ago
you’d be surprised how complex MediaWiki syntax is nowadays, there are many ways to break things on a wiki
Devi@beehaw.org 9 months ago
This explains what is going on a facebook.
Space_Racer@lemm.ee 9 months ago
As a SOC auditor you programmers are going to make me scream at the exceptions you guys cause.
SonnyVabitch@lemmy.world 9 months ago
Pete was Heard, but was he Listened To?
Skates@feddit.nl 9 months ago
That’s nice but it goes against our quality standards and the international quality standards we are charging the client extra for adhering to, the line you’re trying to merge into is stability and needs CCB approval for the merge, and the client has specifically requested only showstopper-level bugs be addressed for stability lines. Pack your shit, you’re gonna have a wonderful time posting this crap on LinkedIn instead.
2 days before, at OP’s former job
null@slrpnk.net 9 months ago
The subtle Linux-flex in the screenshot.
petrescatraian@libranet.de 9 months ago
chicken@lemmy.dbzer0.com 9 months ago
I wonder how many programmers out there have intentionally set out to subtly sabotage the system. Anyone doing that, good luck to you.
halvo317@sh.itjust.works 9 months ago
You guys review?
coloredgrayscale@programming.dev 9 months ago
It can work if you have a test zone and only a small amount of people work on a given code base.
Also checks to ensure the code compiles and tests pass before merging, as some quality gateway.
looseanus@lemm.ee 9 months ago
GBU_28@lemm.ee 9 months ago
Let the users do the testing