I was a full time test engineer / QA person for a while. My motto quickly became “nothing ever works”.
Pretty much any ticket behind a static copy change would have some problem or oversight. Sometimes even those would (did you account for very narrow view ports?)
Good developers would take this feedback gracefully. “Shit, you’re right, I need to account for mobile users.”
Bad developers would get defensive and upset. “We barely have any mobile users (me: did you check?). Alan already approved so I’m merging. I don’t want to waste time on this”
Something I find helpful is to PR review my own code before I create the actual PR. It’s surprising how giving it a once over in a different setting to the comfort zone of your code editor can save you a bit of unnecessary back and forth.
I do that all the time. Sometimes I even realize I missed an even more obvious solution to the problem or how to better communicate the intent of the code.
Yep. This is the way. Also, you’d be surprised how many devs don’t run through their own QA steps before asking other people to verify.
Yep, shit devs will rely on those reviewing the PR to do their work for them.
Steps to test: “Idk try some shit”
I like to take any text and copy / paste it into a different editor. Inevitably, this changes the layout because of different font settings or window size or whatever else. Reading it in a slightly altered layout helps me catch a lot of tiny errors that my eyes otherwise glide past.
All hail the PR draft
It’s so fucking goddamn sad how rare this is. Personally I review changes when I push commits and review all changes personally before publishing the PR and requesting reviews. I’m a senior dev so I guess it’s just something that comes with time (if you care about the code you produce)
I swear to fucking god every PR review I do for younger devs and contractors we have to use (guess what country they’re from), I swear they don’t even look at their own fucking code once they’ve written it, let alone perform any sort of critical analysis. thoughts about any missed use-cases/optimization/future application and evolution? Nah!! That’s what the PR is for right? 🤬
As you said even just a quick once over make a big difference and somehow it’s not even close to common.
Damn I need to quit
I wouldn’t do that, too much tunnel vision and biases. I just skim through and make sure everything makes sense. Especially naming and comments.
I wouldn’t do that, too much tunnel vision and biases.
Absolutely not. Self-reviews are very productive. I can confirm this from my own work and my colleagues, who also find it so.
You’re of course free to vary the degree and depth of self-review, but tunnel vision and bias is definitely not overbearing and diminishing in those situations for us.
Someone else will of course see more, what you may not see due to tunnel vision. But that’s besides the point.
Weird, never heard of anyone doing this. Aren’t your team self reviewing the code while writing it?
When you finish the final sentence of an essay or a report do you just submit it straight away? You don’t read it through?
How do you self-review while writing? What do you mean by that?
I see it as different phases of development, mindset, and focus. You inherently can’t be in multiple at the same time.
- Problem space and solution exploration - an iterative and at times experimental process to find and weigh solutions
- Cleanup and self-review - document your findings, decision-making, exclusions, and weighing, verify your solution/changeset makes sense and is complete (to intended scope)
- Reviews
It makes no sense to be thorough during experimental and iterative exploration. That’d be wasted effort.
After finding a solution, and writing it out, a self-review will make you take a systematic, verifying review mindset.
I just skim through and make sure everything makes sense. Especially naming and comments.
What do you think a self review is?
deleted by creator
I think it makes sense, but only after logging out for the day and coming back to it a bit either the next day, or after a weekend in the case of code completion late Thursday or early Friday.
Me neither buddy, me neither…
Falsehoods About Time: … Time always moves forwards.
I had to learn this the hard way… I was working at a platform that pulled measurements from sensors. The sensors did not declare the timezone for the timestamps of the measurement and the platform broke down twice after daylight saving. The first time there were duplicated records which caused conflicts and the second one we weren’t handling impossible timestamps.
I had a client whose clock was just a few milliseconds behind the server’s, but due to timezone crap one hour in the past. And the signature was valid for one hour.
If the network just happened to be too congested, the validation failed. The next request went through just fine. Took us forever to find out.
I sure do hate time zones.
Falsehoods About Time
Having a background in astronomy, I knew going into programming that time would be an absolute bitch.
Most recently, I thought I could code a script that could project when Easter would land every year to mark it on office timesheets. After spending an embarrassing amount of…er…time on it, I gave up and downloaded a table of pre-calculated dates. I suppose at some point, assuming the code survives that long, it will have a Y2K-style moment, but I didn’t trust my own algorithm over the table. I do think it is healthy, if not essential, to not trust your own code.
Falsehoods About Text
I’d like to add “Splitting at code-point boundary is safe” to your list. Man, was I ever naive!
Rocket programmer (and engineer) here. Can confirm that time programming is hell. Don’t even start on DST.
Hey I know this place! I filmed there it’s in northern Ireland, behind the camera there’s an Observatory kind of building (round thing).