Merge then review

3 years ago by agilob to c/programmer_humor

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

will_a113 197 points 3 years ago

Having a hard time determining whether this is sarcasm or not. Then I see the phrase "JavaScript Engineer" and become doubly confused.

path: 0 5310688, hotness: undefined, score: 197, children: 10
RonSijm 68 points 3 years ago path: 0 5310688 5312567, hotness: undefined, score: 68, children: 5
Blackmist 26 points 3 years ago

I distinguish four types. There are clever, hardworking, stupid, and lazy officers. Usually two characteristics are combined. Some are clever and hardworking; their place is the General Staff. The next ones are stupid and lazy; they make up 90 percent of every army and are suited to routine duties. Anyone who is both clever and lazy is qualified for the highest leadership duties, because he possesses the mental clarity and strength of nerve necessary for difficult decisions. One must beware of anyone who is both stupid and hardworking; he must not be entrusted with any responsibility because he will always only cause damage.

-- Kurt von Hammerstein

LinkedIn is Facebook for that last type.

path: 0 5310688 5312567 5330352, hotness: undefined, score: 26, children: 0
Aviandelight 11 points 3 years ago

That's a relief because I thought I'd stumbled into LinkedIn Lunatics for a hot second.

path: 0 5310688 5312567 5315963, hotness: undefined, score: 11, children: 0
MonkCanatella 6 points 3 years ago

That could still be trolling. But LinkedIn is so full of utter garbage like this that it’s believable

path: 0 5310688 5312567 5324610, hotness: undefined, score: 6, children: 1
RonSijm 2 points 3 years ago

I don't think so. I just made a screenshot of one random convo he's having about this, but there's loads more in a similar fashion.

And all of his other posts besides this one seem legit on the surface.

So it would be pretty weird if he randomly has a very bad take, and then just claims "Lol this was a troll post, gotcha!"... That's pretty much the 4chan defense when you get called out - "Haha guys, I'm actually not r-worded, I'm just trolling!"

path: 0 5310688 5312567 5324610 5363334, hotness: undefined, score: 2, children: 0
BatmanAoD 5 points 3 years ago

Wow, of course he's pretending the response is a misrepresentation of his opinion instead of defending it in good faith.

path: 0 5310688 5312567 5326239, hotness: undefined, score: 5, children: 0
Quik 34 points 3 years ago

I think the latter makes clear that this is a joke account, doesn’t it?

path: 0 5310688 5311017, hotness: undefined, score: 34, children: 3
Theharpyeagle 18 points 3 years ago

Node: "Am I a joke to you?"

path: 0 5310688 5311017 5311855, hotness: undefined, score: 18, children: 2
Jesus_666 23 points 3 years ago

Yes.

path: 0 5310688 5311017 5311855 5311935, hotness: undefined, score: 23, children: 0
SpaceNoodle 22 points 3 years ago

Yes.

path: 0 5310688 5311017 5311855 5312055, hotness: undefined, score: 22, children: 0
simple 102 points 3 years ago

Having to go through the process of merging hurts morale and slows performance. Give everyone on your team the right to force push to master.

path: 0 5310617, hotness: undefined, score: 102, children: 10
NocturnalMorning 34 points 3 years ago

Yes, especially the newbies who don't know what they're doing.

path: 0 5310617 5311303, hotness: undefined, score: 34, children: 7
SpeakinTelnet 32 points 3 years ago

Keep everyone awake and on their toes.

path: 0 5310617 5311303 5311333, hotness: undefined, score: 32, children: 4
EatYouWell 26 points 3 years ago

You're not truly part of the team until you cause a massive outage.

path: 0 5310617 5311303 5311333 5311731, hotness: undefined, score: 26, children: 3
SpeakinTelnet 12 points 3 years ago

New employees are responsible of at least 75℅ of documentation clarification and process overhaul.

path: 0 5310617 5311303 5311333 5311731 5314389, hotness: undefined, score: 12, children: 1
NocturnalMorning 3 points 3 years ago

Who me? No, must be someone else with my name you're thinking of.

path: 0 5310617 5311303 5311333 5311731 5313742, hotness: undefined, score: 3, children: 0
eruchitanda 2 points 3 years ago

Don't hurt their morale!

path: 0 5310617 5311303 5315526, hotness: undefined, score: 2, children: 0
MeanEYE 1 point 3 years ago

I honestly wouldn't see this as a problem. But if you break something it's up to you to fix it. But we also don't do CI. We release features in batches after they have been tested and seen to be working.

path: 0 5310617 5311303 5332139, hotness: undefined, score: 1, children: 0
EfreetSK 9 points 3 years ago

I don't know if sarcasm because there are actually maniacs like that in this world

path: 0 5310617 5311516, hotness: undefined, score: 9, children: 0
BeigeAgenda 2 points 3 years ago

Oops boss just did a git push --mirror

path: 0 5310617 5314867, hotness: undefined, score: 2, children: 0
pec 85 points 3 years ago

Stop transfering people from sales to engineering!

path: 0 5310928, hotness: undefined, score: 85, children: 1
HowManyNimons 20 points 3 years ago

But Elon's annoying!

path: 0 5310928 5311409, hotness: undefined, score: 20, children: 0
sirdorius 61 points 3 years ago

I really wish LinkedIn would add an anonymous cringe emoji. I would use it on like 90% of the content on that site.

path: 0 5312306, hotness: undefined, score: 61, children: 2
Pregnenolone 5 points 3 years ago

The best thing you can do with that shithole of a site is ignore it as best as possible. Don’t give them any engagement. They’re no better than rage-baiters on Reddit and TikTok

path: 0 5312306 5324709, hotness: undefined, score: 5, children: 0
zalgotext 2 points 3 years ago

I wouldn't even do it anonymously if I still had a linked in account

path: 0 5312306 5323554, hotness: undefined, score: 2, children: 0
rainynight65 57 points 3 years ago

I'm having a hard time figuring out whether this guy is a fucking moron or a fucking idiot.

path: 0 5321050, hotness: undefined, score: 57, children: 2
vox 3 points 3 years ago

pete's a fucking genius

path: 0 5321050 5328177, hotness: undefined, score: 3, children: 1
bier 3 points 3 years ago

Exactly, this is how you pay off your mortgage

path: 0 5321050 5328177 5328229, hotness: undefined, score: 3, children: 0
notannpc 44 points 3 years ago

Amateur. You want real performance? Code in prod. Literally could not be better for collaboration to have the whole team working directly from production servers. Best part? You get INSTANT feedback.

path: 0 5316431, hotness: undefined, score: 44, children: 1
zalgotext 16 points 3 years ago

Another benefit is you never have to worry about merge conflicts

path: 0 5316431 5323529, hotness: undefined, score: 16, children: 0
VantaBrandon 44 points 3 years ago

I just commit directly to master with auto-deploy like a real cowboy, yee-haw!

path: 0 5317412, hotness: undefined, score: 44, children: 3
floofloof 7 points 3 years ago

Why review at all when the users will do this for you? Merge, deploy and move on. If it's broken they'll tell you.

I'm definitely going to start doing this at work. We don't want our embedded firmware for medical devices to get stale.

path: 0 5317412 5331736, hotness: undefined, score: 7, children: 2
VantaBrandon 3 points 3 years ago

Right? Who needs a QA team when you can use real live customers for testing

path: 0 5317412 5331736 5333502, hotness: undefined, score: 3, children: 1
floofloof 1 point 3 years ago

It's the Microsoft way.

path: 0 5317412 5331736 5333502 5334202, hotness: undefined, score: 1, children: 0
EmergMemeHologram 43 points 3 years ago
path: 0 5311108, hotness: undefined, score: 43, children: 3
Theharpyeagle 12 points 3 years ago

Unironically worked for a company that did this. Don't test it, don't even run it, just put it in prod.

path: 0 5311108 5311905, hotness: undefined, score: 12, children: 1
Wild_Mastic 11 points 3 years ago

Me too, it was glorious that time someone accidentally pushed on a Friday evening and stopped production lines for the following week.

path: 0 5311108 5311905 5312136, hotness: undefined, score: 11, children: 0
KeenFlame 2 points 3 years ago

I miss when internet services was literally down because it was being developed in place

path: 0 5311108 5317757, hotness: undefined, score: 2, children: 0
SkyNTP 38 points 3 years ago

What does "stale code" even mean in this context?

Does that mean it falls behind stable? Just merge stable into your branch; problem solved.

Or is this just some coded language for "people aren't adopting my ideas fast enough". Stop bitching and get good.

path: 0 5314187, hotness: undefined, score: 38, children: 0
Blackmist 33 points 3 years ago

Do we have a Linked In Lunatics sub on Lemmy?

path: 0 5330309, hotness: undefined, score: 33, children: 2
jozep 9 points 3 years ago
path: 0 5330309 5331947, hotness: undefined, score: 9, children: 1
Anders429 3 points 3 years ago

Wow, I'm really disappointed, it's just full of posts from parody accounts with people in the comments not realizing it isn't real.

path: 0 5330309 5331947 5341618, hotness: undefined, score: 3, children: 0
bleistift2 30 points 3 years ago

My old boss (at a sturtup with some ten ppl) loved to do this. When you’re done with your work, merge to master. Boss-man would then revert the commits if he didn’t like the result. Since the branches all were merged, no-one knew what was actually in prod. Fun times.

path: 0 5311413, hotness: undefined, score: 30, children: 1
ptz 8 points 3 years ago

🫠

path: 0 5311413 5312614, hotness: undefined, score: 8, children: 0
Manifish_Destiny 29 points 3 years ago

'i help JavaScript engineers become framework architects by getting them forcibly reassigned.'

path: 0 5317561, hotness: undefined, score: 29, children: 0
dannym 28 points 3 years ago

If somebody actually did that it would be grounds for removing their privileges to merge into master. THIS, THIS is why the JavaScript ecosystem has gotten so bad, people with mentalities similar to his.

path: 0 5326184, hotness: undefined, score: 28, children: 0
VantaBrandon 27 points 3 years ago

Better yet just edit files live on prod from Notepad (not plus plus) over Samba for "xtreme moral" boost

path: 0 5317434, hotness: undefined, score: 27, children: 1
MeanEYE 4 points 3 years ago

The amount of times where I had to fix things in live production servers is not a small number. Then again, we are only humans. Backup often and you are golden.

path: 0 5317434 5332111, hotness: undefined, score: 4, children: 0
Sanctus 24 points 3 years ago

This is why I include those preservative libraries in my projects. My code doesn't go stale for a whole three weeks longer.

path: 0 5311018, hotness: undefined, score: 24, children: 0
debil 24 points 3 years ago

I dunno but xtreme programming sounds like something straight outta Musk's wettest teenage day dreams.

path: 0 5352921, hotness: undefined, score: 24, children: 1
Bakkoda 2 points 3 years ago

Imagine if you will: You have a red button and a green button. You are allowed 10 seconds to review the code before rejecting or accepting & merging. Think fast.

path: 0 5352921 5358277, hotness: undefined, score: 2, children: 0
okamiueru 22 points 3 years ago

This is satire, right? Surely no one would put their name on that publicly?

Like someone working in a kitchen boasting about a life hack of not wasting time with hygiene.

path: 0 5328493, hotness: undefined, score: 22, children: 2
DudeDudenson 16 points 3 years ago

Wash your hands after cooking, never let food products sit stale

path: 0 5328493 5329891, hotness: undefined, score: 16, children: 1
affiliate 2 points 3 years ago

never chew before swallowing either. the food can still get stale in your mouth

path: 0 5328493 5329891 5338362, hotness: undefined, score: 2, children: 0
PepeLivesMatter 22 points 3 years ago

Developers: "Move fast and break things."

Things: break

Developers: surprised Pikachu face

path: 0 5354770, hotness: undefined, score: 22, children: 1
Waraugh 2 points 3 years ago

Except instead it’s: Developers: fuck ops, they stuck at their job

path: 0 5354770 5360632, hotness: undefined, score: 2, children: 0
RageAgainstTheRich 21 points 3 years ago

What in the shit is "xtreme programming"?

path: 0 5313670, hotness: undefined, score: 21, children: 8
cypherix93 23 points 3 years ago

it's NewGame+ for when you 100% programming

path: 0 5313670 5313867, hotness: undefined, score: 23, children: 2
KepBen 10 points 3 years ago

Fuck you guys are getting progress??

path: 0 5313670 5313867 5314808, hotness: undefined, score: 10, children: 0
MagicShel 4 points 3 years ago

I've been doing this for twenty five years and I'm nowhere near 100%. In fact I think my percent might be going down.

path: 0 5313670 5313867 5316115, hotness: undefined, score: 4, children: 0
LiveLM 5 points 3 years ago path: 0 5313670 5315322, hotness: undefined, score: 5, children: 1
T4V0 2 points 3 years ago path: 0 5313670 5315322 5317366, hotness: undefined, score: 2, children: 0
GoodEye8 4 points 3 years ago

It's when you write everything in l33t WITH CAPSLOCK ON.

path: 0 5313670 5315402, hotness: undefined, score: 4, children: 1
e8d79 4 points 3 years ago

I guess that makes COBOL the most Xtreme programming language.

path: 0 5313670 5315402 5316450, hotness: undefined, score: 4, children: 0
theneverfox 1 point 3 years ago

It's agile based around rapid prototyping. You build a thing, then you do it again, but better

It's not a new idea... But I've never heard of anyone doing it professionally

path: 0 5313670 5358096, hotness: undefined, score: 1, children: 0
silencioso 20 points 3 years ago

Before everyone loses their minds, in Extreme Programming there are safeguards other than PR reviews. Before you submit a PR, you are supposed to have written the tests and to have written your code with pair programming, so your code already has some safety measures in place. On top of that, when you merge and deploy, more tests are run, and only if all of them are green do your changes go into production.

path: 0 5330153, hotness: undefined, score: 20, children: 9
redcalcium 14 points 3 years ago

Pair programming? Then the code is already reviewed.

path: 0 5330153 5332474, hotness: undefined, score: 14, children: 1
hglman 1 point 3 years ago

Yes, that's part of the point. Dumping all at once into a merge and asking people to comprehend it all isn't particularly realistic.

path: 0 5330153 5332474 5353899, hotness: undefined, score: 1, children: 0
agilob 5 points 3 years ago

you are supposed to have written the tests and to have written your code with pair programming,

I commented out the tests because they were failing, pipelines were green so I merged. Now it's running on prod. What do you do?

path: 0 5330153 5331191, hotness: undefined, score: 5, children: 3
silencioso 16 points 3 years ago

Fire you for destroying the tests. It's intentional sabotage.

path: 0 5330153 5331191 5331281, hotness: undefined, score: 16, children: 0
pomodoro_longbreak 6 points 3 years ago

Give you public kudos for moving fast and breaking things. We need more fearless cowboys like you around here

path: 0 5330153 5331191 5339116, hotness: undefined, score: 6, children: 0
Blackthorn 1 point 3 years ago

I would fire you for incompetence and sabotage. Problem solved.

path: 0 5330153 5331191 5338610, hotness: undefined, score: 1, children: 0
MeanEYE 3 points 3 years ago

You lost me at "pair programming". Having tests for what you can test is fine. But there's code that simply can't be tested, or at least not easily at which point you are just wasting time. Open source mantra is always great in my opinion... release early, release often. In addition to that have a test version of your software before you push it to production if there's sensitive data. That's usually good enough to catch issues.

And he's right, reviewing changes before merge just takes time and resources away from project while the master branch keeps moving. Merge, if there are issues, whoever submitted the change is obliged to fix it. You can always checkout earlier version.

path: 0 5330153 5331962, hotness: undefined, score: 3, children: 2
dbilitated 2 points 3 years ago

I just made a github action that merges anything updated in master into feature branches automatically. you get pinged if there's a conflict but the automerge keeps drift to a minimum so it's less common and fixed sooner.

better than merging poorly tested/reviewed code.

and yeah, a small team of superstars doesn't need reviews so much, but most teams have a range of devs with different levels of experience and time working with particular parts of a large codebase. Someone more senior or more expert derisks people picking up tickets and improves code quality.

it also leads to plenty of good conversations about the best way to implement, so overall it's a win.

path: 0 5330153 5331962 5352713, hotness: undefined, score: 2, children: 1
MeanEYE 2 points 3 years ago

Well, Git was designed to branch out, not be a single repo with bunch of users. So one team can have a local repo, that in turn gets merged into big one, etc. Structure matters as you say. Small experienced teams move fast. Big teams require a lot of management and supervision. I still think it's better to split people up into small teams and give individual tasks, or let them pick tasks that need to be done.

path: 0 5330153 5331962 5352713 5353042, hotness: undefined, score: 2, children: 0
Anders429 19 points 3 years ago

Bet you $50 we later learn this guy was orchestrating a supply chain attack.

path: 0 5341519, hotness: undefined, score: 19, children: 0
nxdefiant 18 points 3 years ago

I help JavaScript engineers become framework A...

ssholes.

path: 0 5339312, hotness: undefined, score: 18, children: 0
xmunk 18 points 3 years ago

At my company we're so agile that we directly deploy branches from developers' local machines to customers for A/B testing.

path: 0 5311045, hotness: undefined, score: 18, children: 3
TheFerrango 17 points 3 years ago

Call it “container orchestration” and charge an extra 20% to the customer

path: 0 5311045 5311525, hotness: undefined, score: 17, children: 2
xmunk 9 points 3 years ago

As one of our most important customers, we've greenlit you for our cutting edge early access. Most people need to wait weeks for the features you get today!

path: 0 5311045 5311525 5313219, hotness: undefined, score: 9, children: 1
TheFerrango 3 points 3 years ago

We’ve been doing that the wrong way, offering a discount if they were willing to try the early features.

This is the big money reasoning that I should suggest to the bosses.

path: 0 5311045 5311525 5313219 5327736, hotness: undefined, score: 3, children: 0
intensely_human 17 points 3 years ago

If you’re working in a context where it’s okay to make mistakes so long as they get fixed later, you’re not working on anything important.

path: 0 5317043, hotness: undefined, score: 17, children: 0
gatelike 14 points 3 years ago

this made my heart rate go up a little bit in a way that doesn't feel good

path: 0 5316156, hotness: undefined, score: 14, children: 0
fosforus 14 points 3 years ago
path: 0 5328402, hotness: undefined, score: 14, children: 0
NigelFrobisher 14 points 3 years ago

It’s insane to me that gitflow won over TBD and Continuous Integration to the point that this is now considered an extreme position. Not all projects are open source with many remote collaborators.

path: 0 5325772, hotness: undefined, score: 14, children: 0
Nighed 13 points 3 years ago

Kinda acceptable if you have a slow release cadence. Everything needs to be reviewed and fixed/accepted (with defect/US raised) before production though.

Needs to be in a smaller team with decent Devs too though!

path: 0 5328080, hotness: undefined, score: 13, children: 0
LiveLM 13 points 3 years ago

LinkedIn "influencers" are insufferable, dear god

path: 0 5316597, hotness: undefined, score: 13, children: 0
GBU_28 11 points 3 years ago

Let the users do the testing

path: 0 5315909, hotness: undefined, score: 11, children: 2
ArmoredThirteen 9 points 3 years ago

Oh hey a fellow game dev, how long you been in the industry?

path: 0 5315909 5317381, hotness: undefined, score: 9, children: 1
CeeBee 4 points 3 years ago

They're a Windows dev, clearly.

path: 0 5315909 5317381 5317508, hotness: undefined, score: 4, children: 0
MeanEYE 9 points 3 years 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.

path: 0 5332064, hotness: undefined, score: 9, children: 0
vrkr 9 points 3 years ago

Something like that 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? Your shit may just crash
  • gfy and push this to production right now
  • well, ok

Of course, lack of these "cosmetics" caused crash in production. It's my fault of course.

path: 0 5360093, hotness: undefined, score: 9, children: 0
RenegadeTwister 9 points 3 years ago
path: 0 5353933, hotness: undefined, score: 9, children: 3
MashedTech 7 points 3 years ago

Modern agile is just waterfall with steps.

path: 0 5353933 5354255, hotness: undefined, score: 7, children: 2
DrMango 2 points 3 years ago

Wait... waterfall is waterfall with steps 🤔

path: 0 5353933 5354255 5354404, hotness: undefined, score: 2, children: 1
MashedTech 4 points 3 years ago

Agile just adds routines and extra steps

path: 0 5353933 5354255 5354404 5356029, hotness: undefined, score: 4, children: 0
Locrin 5 points 3 years ago

Does he work at Rivian?

path: 0 5314885, hotness: undefined, score: 5, children: 0
SonnyVabitch 5 points 3 years ago

Pete was Heard, but was he Listened To?

path: 0 5311265, hotness: undefined, score: 5, children: 0
Diplomjodler 4 points 3 years ago

Test it? Meh. Just ship it.

path: 0 5310788, hotness: undefined, score: 4, children: 1
agilob 2 points 3 years ago

It compiles = it goes to prod!

path: 0 5310788 5326206, hotness: undefined, score: 2, children: 0
ikidd 4 points 3 years ago

The "send it" school of PRs.

path: 0 5358366, hotness: undefined, score: 4, children: 0
schnurrito 4 points 3 years ago

I mean this is basically a wiki, isn't it.

path: 0 5337735, hotness: undefined, score: 4, children: 0
SVcross 4 points 3 years ago

Didn't knew KenM was on LinkedIn.

path: 0 5353256, hotness: undefined, score: 4, children: 0
Space_Racer 3 points 3 years ago

As a SOC auditor you programmers are going to make me scream at the exceptions you guys cause.

path: 0 5316775, hotness: undefined, score: 3, children: 0
halvo317 2 points 3 years ago

You guys review?

path: 0 5316591, hotness: undefined, score: 2, children: 0
Deifyed 2 points 3 years ago

I kind of with the sentiment. Review pre merge though, but only block the merge if there are serious faults. Otherwise, merge the code and have the author address issues after the merge. Get the value to production

path: 0 5315643, hotness: undefined, score: 2, children: 15
Mossheart 16 points 3 years ago

have the author address issues after the merge.

Hahahahahahaha. Sorry, you've merged, next ticket, PM needs shiny results for execs this QBR!

This is how bug backlogs grow.

path: 0 5315643 5316031, hotness: undefined, score: 16, children: 3
SmoothLiquidation 5 points 3 years ago

This exactly. By the time they notice a problem you are three tickets down and on to the next sprint.

path: 0 5315643 5316031 5317407, hotness: undefined, score: 5, children: 0
karmiclychee 2 points 3 years ago

Oof, I felt this

path: 0 5315643 5316031 5327935, hotness: undefined, score: 2, children: 0
Deifyed 2 points 3 years ago

Yeah, I see your point. Maybe my employers are different, it's never been an issue explaining why the ticket isn't closed just because the PR is merged

path: 0 5315643 5316031 5326806, hotness: undefined, score: 2, children: 0
kautau 4 points 3 years ago

This only works if the merge is being done to staging builds that are continuously tested by a QA team before they go to production, with carefully planned production milestone releases. I work for an emergency management SaaS company. If we just merged all lightly reviewed code into production without thorough QA testing, there’s the possibility that our software would fail in production. This could cause aircraft in major airports to crash into each other on the runway, or a university to respond poorly to a live shooter situation, or the deletion of customer data about COVID vaccine efforts, etc

path: 0 5315643 5317017, hotness: undefined, score: 4, children: 0
zalgotext 1 point 3 years ago

Get the value to production

Ugh, not this SAFe Agile (tm) cultist bullshit. The "value" is working, bug free code, which you get when you put it through review and QA before it gets to production.

path: 0 5315643 5323851, hotness: undefined, score: 1, children: 4
Mossheart 2 points 3 years ago

There is no value in spaghetti piled on top of rotten spaghetti. Tech iCal debt is real and if you're just shippin it and plan to fix it later, y'all gonna have a bad time. Nothing more permanent than a temporary workaround.

path: 0 5315643 5323851 5545054, hotness: undefined, score: 2, children: 0
Deifyed 1 point 3 years ago

There's often features and bug fixes worth more than the ones introduced in the PR. I've yet to see bug free code just because it's went through review and QA.

path: 0 5315643 5323851 5326784, hotness: undefined, score: 1, children: 2
zalgotext 1 point 3 years ago

Surely you've seen bugs caught because code went through review and QA though. Those are bugs that would go into production if following the "advice" in this post.

path: 0 5315643 5323851 5326784 5333706, hotness: undefined, score: 1, children: 1
Deifyed 1 point 3 years ago

I'm saying identify the bugs through review, and fix them. Just do it in a new PR unless they are critical

path: 0 5315643 5323851 5326784 5333706 5338016, hotness: undefined, score: 1, children: 0
jjjalljs 1 point 3 years ago

This is some poe's law shit. I can't tell if you're serious or just committing to the bit.

path: 0 5315643 5317424, hotness: undefined, score: 1, children: 2
Deifyed 1 point 3 years ago

Sorry about the confusion. It's not sarcasm. I'm just sick and tired of people blocking my PR because of an argument about wether the function should be called X or Y or Z or D

path: 0 5315643 5317424 5326838, hotness: undefined, score: 1, children: 1
jjjalljs 2 points 3 years ago

Ah. Yeah those kind of nitpicks are annoying. We try to specify when comments are blocking or non blocking on reviews.

But I definitely block a lot of reviews over no tests, bad tests, no error handling, failed linting. And the occasional "this doesn't do what the ticket asked for"

path: 0 5315643 5317424 5326838 5332932, hotness: undefined, score: 2, children: 0
Doveux 1 point 3 years ago

I'm with you. I've worked on a few teams, one of the first was a company where two teams were contributing code changes to the same product. The other team "owned" it and as a result it took ages, sometimes months, to get code changes merged. It meant more time was spent just rebasing (because merging wasn't "clean") than working on the actual feature.

My current role, we just do TDD, pair programming, and trunk-based development. We have a release process that involves manual testing before live deployment. Features that aren't ready for live are turned off by feature flags. It's quick and efficient.

Fundamentally I think the issue is the right tool for the job. Code doesn't need to be managed the same way in a company as it does in an open-source project.

path: 0 5315643 5320072, hotness: undefined, score: 1, children: 1
zalgotext 2 points 3 years ago

Code doesn't need to be managed the same way in a company as it does in an open-source project.

Open-source projects are usually longer lived more maintainable, more stable, and more useful than any closed source code I've ever worked on for a company. Partially because they're not under contract deadlines which create pressure to "deliver value" by a certain date, but still. Might be helpful for companies to consider adopting practices the open-source community has shown to work, rather than inventing their own.

path: 0 5315643 5320072 5323987, hotness: undefined, score: 2, children: 0
chicken 2 points 3 years ago

I wonder how many programmers out there have intentionally set out to subtly sabotage the system. Anyone doing that, good luck to you.

path: 0 5316611, hotness: undefined, score: 2, children: 0
Skates 1 point 3 years ago
path: 0 5320853, hotness: undefined, score: 1, children: 0
petrescatraian 1 point 3 years ago

@agilob code is like wine. You let it out in the cold and it gets better over time by itself.

path: 0 5330489, hotness: undefined, score: 1, children: 0
coloredgrayscale 1 point 3 years 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.

path: 0 5365120, hotness: undefined, score: 1, children: 0
null 1 point 3 years ago

The subtle Linux-flex in the screenshot.

path: 0 5315297, hotness: undefined, score: 1, children: 3
TrickDacy 1 point 3 years ago

Huh

path: 0 5315297 5315622, hotness: undefined, score: 1, children: 2
jack 4 points 3 years ago

Curse her

path: 0 5315297 5315622 5315748, hotness: undefined, score: 4, children: 1
null 3 points 3 years ago

Once you see it, it's a breeze.

path: 0 5315297 5315622 5315748 5322754, hotness: undefined, score: 3, children: 0
Blackthorn -2 points 3 years 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.

path: 0 5338694, hotness: undefined, score: -2, children: 4
pomodoro_longbreak 12 points 3 years 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

path: 0 5338694 5339069, hotness: undefined, score: 12, children: 0
reverendsteveii 6 points 3 years 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.

path: 0 5338694 5339246, hotness: undefined, score: 6, children: 0
the_artic_one 1 point 3 years ago

If coders are good AND know the project

Those are some pretty big ifs.

path: 0 5338694 5359173, hotness: undefined, score: 1, children: 1
Blackthorn 1 point 3 years 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.

path: 0 5338694 5359173 5361452, hotness: undefined, score: 1, children: 0
looseanus -6 points 3 years ago
path: 0 5360651, hotness: undefined, score: -6, children: 0
programmer_humor
programmer_humor

@programming.dev

login for more options
33596
2560
7290

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

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics
    • If the mod doesn't find it funny, you're banned. Ha-ha!... For real: do not use the community for "statements". There are other places for such content. Keep it chill and funny.

go to feed...