4 ms·
You must be insufferable to be around. Here's a novel idea, how about instead of directly resorting to "Your code sucks." we instead say something like "I thin
by tylermac1 8y ago
You must be insufferable to be around.
Here's a novel idea, how about instead of directly resorting to "Your code sucks." we instead say something like "I think there's still some work to do here. Here's the way I would have done this." It's really not that hard to give constructive criticism.
- 08-15 8y agoIn practice it works like this: "Your code invokes undefined behavior and may fail in the following ways. These corner cases are handled incorrectly. There are a few other cases I'm not sure about, because I have trouble following the logic." "The code is fine. I have tested it!" "It happens to work on you current machine. That's the nature of undefined behavior. It might fail in the future without warning." "I tested it, it works. Now merge it!" "Sorry, man, the code is crap. Go and fix it." Nobody resorts directly to "your code sucks". Engineers love to give constructive criticism, but they hate to give marks for effort. And where constructive arguments fall on deaf ears, they give up and either ignore you or tell you to GTFO. Both are perceived as impolite, but what else could they do?
- GW150914 8y agoIt would cost you nothing to replace your last line with, “I’m sorry, but that’s not what we’re seeing and we won’t merge it until you fix it. I understand your passion, but I won’t sacrifice the quality of this project for that. Fix the code so that it no longer invokes undefined behavior and we’ll review it, otherwise we have nothing more to talk about.” The end. No need to call it crap, no need to burn a bridge.
- 08-15 8y agoIt costs time and energy, because there is no end to this kind of debate. Some people are persistent and will blame you for explaining badly when they don't understand. These discussions never end; usually not even after things got labelled as crap. Personally, I just stop responding after the technical arguments have been exchanged. There is no point in repeating what was ignored already, no point in ELI5, no point to using swear words, silence is what works best. By the way, if you told me "I understand your passion, but...", I'd be angry beyond belief. That's the way you talk to children, and even my mother is no longer allowed to talk to me like that. I consider that a stronger insult than my code being called crap. Which probably shows that shutting up in time is the best response.
- GW150914 8y agoIt costs time and energy, because there is no end to this kind of debate. The end is “nothing more to talk about,” and then you stop replying. As to time and energy, if you’re so depleted than an extra few sentences will materially impact you, then that is a problem. Healthy humans won’t be exhausted by expressing themselves in a half paragraph rather than a muttered “crap”. Some people are persistent and will blame you for explaining badly when they don't understand. These discussions never end; usually not even after things got labelled as crap. So don’t call it crap, just clearly state that you’re not interested anymore and hit ignore. The rest is their problem, not yours, and you’ll gain a reputation for being forthright and firm rather than hysterical. Personally, I just stop responding after the technical arguments have been exchanged. There is no point in repeating what was ignored already, no point in ELI5, no point to using swear words, silence is what works best. Amen brother. By the way, if you told me "I understand your passion, but...", I'd be angry beyond belief. That's the way you talk to children, and even my mother is no longer allowed to talk to me like that. I consider that a stronger insult than my code being called crap. Which probably shows that shutting up in time is the best response. The person in the example was acting like a child, and deserved to be treated (politely) like one. Either way though, my particular wording was just off-the-cuff and only an example.
- jnurmine 8y agoBut... what you wrote means exactly the same thing, with way more words. The code was obviously bad enough to not get accepted and should be fixed. What is so bad in saying it like it is instead of dressing things up with layers of words? Even with that long reply everyone will understand the intent behind it. Maybe it is a cultural thing in the end. North American culture is very different from, say, Finnish culture (from which I am from, too).
- GW150914 8y agoI’m somewhat familiar with Finnish culture, and to be honest I sort of wish the world worked that way. The Finnish version of the example conversation could have just been: Merge my code! It’s great! No. Aaaand scene. Hell, that “no” could even have been a silent stare, or a grunt and it would have worked. Sadly much of the World finds that crosses the line fopekm taciturn and direct, into either rudeness or lack of communication. Dressing things up with layers of words, while tedious, is also the basic way many cultures keep arguments from turning into murders. North America (and the UK and some other parts) probably do take it a bit far. Not as far as Japan, but still, too far. All of which is to say, yes it’s probably cultural, but it’s also a matter of people who are invested in something missing the obvious. Sometimes you really have to drive a point home, and my general recommendation was that it’s better to do so directly and civilly, rather than rudely.
- ilikehurdles 8y ago>"The code is fine. I have tested it!" In your scenario, the person saying this is being the bad contributor, and should be told to explain what they disagree with in the review. If anyone shuts down in a code review like that more than once, they should be finding a new place to work. And that really goes for both sides to be fair -- if I put in effort into a PR I deserve a good constructive review. If it's a public project and this stranger refuses to follow the rules, no harm done in closing the request and telling them to come back later when they're ready to discuss things. Or you know, however you discipline them. I think we're in agreement that there's no need to resort to personal attacks and frankly someone telling me my code is crap is probably better than being told I should have been aborted in a code review.
- notyourday 8y agoIt is not optimal resource allocation of my most valuable resource - time.
- whiddershins 8y agoYou just insulted someone personally. Do you see that you did that?