Live data from Hacker News

Maybe we shouldn't be reviewing all this code

martinfowler.com

21–30 of 87 posts

Re: Maybe we shouldn't be reviewing all this code

#21
post #5

Are we going back to waterfall?

This has nothing to do with the article.

She's just arguing that most of the purposes of code reviews should be done before the typing part of coding instead of after. Identifying the best design before investing in typing / tokens.

Waterfall has to do with the size of the loop and when the customer gets to provide consumable feedback. She's not proposing changes to the size of that loop.

Re: Maybe we shouldn't be reviewing all this code

#22

How about.. "it depends" ? I review things that I know are "important".. but I've learned that there are many things that I don't care how it works at this point- they aren't critical in terms of I know it's not going to cascade and break other things (that's where us senior engineers know what to look for). But there's no way in the hell I can review all the code that is being generated for so many things that just…

So, you just replied to the title and didn't read the piece, eh?

Re: Maybe we shouldn't be reviewing all this code

#23
post #4

This approach doesn't scale. Pair programming once in a while can be incredibly valuable. I am glad to meet with anyone and talk over their code in person, brainstorm designs, run through a debugger together investigating it. But if you asked me to do that for most of an 8 hour day - much less most of the time in general - I would quit the job faster than you could fill out the paperwork. Constantly having someone lo…

Then you've never actually Pair Programmed. It's not "someone looking over your shoulder", it's literally two people writing the code together, one person at the keyboard and the other person saying what's next. Two brains working in tandem on the same problem space. It works really well , but it is exhausting, and difficult to sell.

Physical placement isn't important. Psychologically, it's the same. What it means is that for the entire duration there is someone paying close attention to (and potentially judging) everything I do. No downtime, no zoning out, focus and performance for an extended period.

IM notification from an old teammate pops up complaining about my boss? Seen.

Switch to a window with my personal email and they can see that thing I just bought or that recruiter I've been talking to? Seen.

I type a stupid thing that will never work? In the 5-30 seconds before I realize it, seen.

It doesn't matter if I trust my pair. That's not how the brain works.

Re: Maybe we shouldn't be reviewing all this code

#24
post #4

This approach doesn't scale. Pair programming once in a while can be incredibly valuable. I am glad to meet with anyone and talk over their code in person, brainstorm designs, run through a debugger together investigating it. But if you asked me to do that for most of an 8 hour day - much less most of the time in general - I would quit the job faster than you could fill out the paperwork. Constantly having someone lo…

Then you've never actually Pair Programmed. It's not "someone looking over your shoulder", it's literally two people writing the code together, one person at the keyboard and the other person saying what's next. Two brains working in tandem on the same problem space. It works really well , but it is exhausting, and difficult to sell.

> one person at the keyboard and the other person saying what's next

My understanding is that there is no one person saying what's next but what's next gets decided by both people. Otherwise, the other person is just a typist.

Re: Maybe we shouldn't be reviewing all this code

#25
>My question is: why are we waiting until code review to do all of those things? > > I’ve never particularly liked pull requests as the centre of the software development process. Not because engineers shouldn’t look at each other’s code, but because I’ve always struggled with the idea that we should build something, finish it, package it up, throw it over to somebody else and then have the important conversation about whether we built the right thing in the right way.

I didn't think this is a controversial take (except for some of the solutions proposed) design and high level implementation shouldnt be happening in code review. that's way to late in the process.

Re: Maybe we shouldn't be reviewing all this code

#26
post #10

Imo, the article misses the main point of code review. It's not about finding bugs or spreading around knowledge, but about maximizing value vs maintenance costs. Code is expensive, not to produce but to maintain. Every line of code added to a codebase must be read and understood many times over its lifetime, and therefore imposes a burden on future maintainers. We review code in order to weigh its value against that…

Fable-class models IMO are now capable enough to maintain your code as well.

Re: Maybe we shouldn't be reviewing all this code

#27
post #14
post #4

This approach doesn't scale. Pair programming once in a while can be incredibly valuable. I am glad to meet with anyone and talk over their code in person, brainstorm designs, run through a debugger together investigating it. But if you asked me to do that for most of an 8 hour day - much less most of the time in general - I would quit the job faster than you could fill out the paperwork. Constantly having someone lo…

my performance goes up when i pair program. even if the partner is a junior, simply because i am more focused.

Intense focus increases performance right up until the point where burnout or exhaustion causes performance to absolutely collapse.

Re: Maybe we shouldn't be reviewing all this code

#28
There also shouldn't be QA on air planes. What's the big deal?

Also we can get rid of that nurse keeping track of surgical instruments during a surgeries.

What's the big deal if a surgeon leaves a a scapel inside of someone?

This article flies so wildly in the face of good engineering and scientific practices it feels like a subtle troll post to get views.

Re: Maybe we shouldn't be reviewing all this code

#29

>If we want to explore alternative solutions, I’d rather do that before implementing one of them. >If we want knowledge transfer, pair. Sitting next to someone, physically or virtually, while they reason through a problem teaches you far more than reading their completed solution afterwards. >If we want junior engineers to learn how experienced engineers think, let them work with experienced engineers while they’re t…

my performance goes up when i pair program. therefore velocity is not cut in half. depending on the pair, the velocity may even be higher than the combination if the two people working individually.

also if pair programming means saving time on code reviews then that's a further increase in velocity.

Re: Maybe we shouldn't be reviewing all this code

#30
post #4

This approach doesn't scale. Pair programming once in a while can be incredibly valuable. I am glad to meet with anyone and talk over their code in person, brainstorm designs, run through a debugger together investigating it. But if you asked me to do that for most of an 8 hour day - much less most of the time in general - I would quit the job faster than you could fill out the paperwork. Constantly having someone lo…

Fascinating; I find myself a lot more stressed and overstimulated when facing a problem alone than with a friend.
Post reply on HN