3 ms·
The problem with the question form "why didnt you just do ___ here?" is it's loaded with the assumption that the other party should have known to do this other
by ryanobjc 8y ago
The problem with the question form "why didnt you just do ___ here?" is it's loaded with the assumption that the other party should have known to do this other thing instead.
A better approach is to use the less loaded "have you considered doing X here?".
If you find yourself needing to demand others not take offense at your questions, you might wish to try a different approach.
- detaro 8y agoAnd if you get something along the lines of "of course I have considered X!" as a response, someone took that one as the loaded variant. It's tricky. "What am I missing?" or a variation on it, as the parent mentions as the intended meaning, probably isn't a bad thing to add, since it makes it clear that you aren't accusing.
- carussell 8y agoA "Have you considered..." question asks for a "yes" or "no". A "Why[...]" question asks for why. Assuming that "Why didn't you just do X?" isn't really just a disingenuous way to say, "you're an idiot; do it this way instead", then you should ask for what you want and ask the why question, not the yes-or-no question. In the case that it is a disingenuous question, then that's something that's covered adequately by #5. Suggesting the avoidance of sarcasm is already broadly applicable enough to cover using questions when you really mean to make a statement. (Which is not specific to code reviews—it's as obnoxious in real life.)
- Izkata 8y agoI've used "why didn't you just ____" version plenty of times, and in a handful of them, they replied with a paragraph or two outlining the exact reasons - including a very edge-case issue that I'd not noticed. After that I usually reply with something like "Could you add a comment and/or test highlighting this reason? (So the next time someone modifies this code they don't make the same mistake I did.)" Definitely better results all around.