Flaming people versus flaming code

I think the Perl community in general (perhaps like many open source communities) suffers from two interrelated flaws:

(1) We think flaming someone's code is an acceptable or useful form of technical critique
(2) We react to flames against our code as personal attacks

When both occur, we have problems.

Statements like "this code is stupid" or "this code is insane" aren't constructive because they don't contain any useful information about what was seen as a problem and because most people reasonably take pride in their work and don't like hearing it disparaged.

Better: "This code is insane because it changes the public API" or "This code is stupid because it adds too many dependencies".

Even better: "I don't like this code because it changes the public API" or "I wouldn't use this code because it adds too many dependencies"

It's possible this generalizes into the "you/I" forms of argument.

E.g. "You're insane" vs "I'm angry" vs "When you add extra dependencies to a module I depend on, I get angry because I try to keep a minimum dependency tree and it means I have to do work to find an alternative to something I used to be able to rely on."

The next time someone's code bothers you, step back from your initial inclination to flame the code, and find a more constructive way to convey the specifics of what bothers you.

This entry was posted in perl programming and tagged , , . Bookmark the permalink. Both comments and trackbacks are currently closed.

© 2009-2017 David Golden All Rights Reserved