Instead, both the criticism-giver and the receiver are better off if you went "This code is shit, /because/ so-and so, and you can improve it in this-and-that way".
Of course, a "I like this /because/" is also more constructive than a "I like this". But I'm sure there's been plenty of examples that no matter how many "I like this"-es you get, it only takes one "this sucks, you suck" to demotivate someone.
Positive sentiment needs no explanation because it inherits the context of the thing it is agreeing with; negative sentiment needs explanation else it is somewhere between useless and nonsense.
Of course negative sentiment also "inherits the context of the thing it is (dis)agreeing with."
You glean just as much information from someone clicking Like and leaving no context as you do someone clicking Dislike and leaving no context.
I disagree; Perhaps a programming analogy instead?
if(x == 0) # when this is true, you know what x is, and what it isn't
if(x != 0) # when this is true, you only know what x isn't
Like with no context tells the receiver what the audience wants (more of the same); dislike doesn't (okay, so don't do this thing, but do what instead?).
That's what I mean by the analogy - "do this" is a much more useful statement than "don't do that".