PR reviews don't mean throwing crap over the wall and hoping the reviewer figures it out. With this guy, there is so much back-and-forth hand holding, it would be simpler to close the PR and do it myself. But I don't...
Some of my complaints are fairly basic: test/review your own work before asking someone else to review it. This should be applicable regardless of industry.
As for the PR, don’t bother. “Hey this code you’ve submitted for code review doesn’t even compile. I’m your colleague, not a human compiler. Please don’t waste my time with this again” -> Close issue.
with two caveats:
- a HUGE disclaimer at the top saying "DO NOT MERGE: not tested"
- also, you'll probably want to politely ask someone for a review, and be specific about what you're looking for
"Draft PRs" are fine for discussing topics or code or goals with a team mate.
It's all about getting feedback!
Most teams I've seen don't practice any sort of iterative development, despite claiming to do so.
Let their manager take issue with it. Fight it, bring it to their manager's manager, whatever. A company like that is not worth working for, so try to make it a company that is, or leave, but do yourself a favor and find a team you love.
This. Remove as much ambiguity and grey area as possible.
I can not imagine having to meet everyone's personal quality bar.
You can also block commits with listing errors
Yep. Especially with practice. You can pretty much get to a point where you build things reasonably well by default without even thinking too hard about it. You have to want to attain it, and be willing to ruthlessly evaluate and file down your design repeatedly.
I believe there's a compounding effect at play here, which accounts for super-linear gains in ability, given enough focus, time, maturity, and number of projects.
That's mastery. There are probably about as many master programmers as there were master... let's say blacksmiths. The problem is there are 10, 20, maybe 50 times as many programmers as we ever had journeymen blacksmiths. And they all seem to think that tenure equals mastery. If we had 10, 20, 50 times as many masters, we'd have enough people to keep an eye on things. But we don't.
Sounds more like competence
And it's often simple techniques like preferring pure functions or using immutable data structures that enable a huge improvement in maintainability, yet few seem to be employing them.
Occasionally the difference comes purely from the fact that someone looked into the library docs and chose the appropriate API method.
There is no good code vs. bad code, there are just good programmers and bad ones.
And given how many programmers there are in total, roughly 98.76% of them are the bad ones :)
I am in my 26th year of this career and I can count on one had situations where a bad programmer wrote good code and good programmer wrote bad code.