Literally speaking, "You should have known better" makes no sense. How can people have known things before they knew them? How can there be a moral requirement which is impossible? It was a revelation to me that moral strictures should be achievable-- I thought they were just floating out in the ether being correct.
I got a lot of "you should have known better" when I was a kid, and I have no patience for it now. However, logical consistancy requires that I not blame people for not knowing better than to say it.
If I feel compelled to give advice about something someone did, I say "for future reference" to make it clear that I don't think they could or should make the past different.
On the other hand, people do say "You should have known better" quite a lot. Most people (that is to say, non-geekish people) use language very approximately, and they seem to manage. My theory is that "You should have known better" is shaming someone for making a mistake-- it's an effort to make sure they don't make that particular mistake again. There may be some hope that they'll be more alert in general, or it may just be dumping fear and anger without thinking about long-term effects.
It's worth noting that I was living in a pretty safe environment and temperamentally cautious. I'm interested in discussion of good methods for teaching urgent rules.
I believe that shaming people, especially shaming them for breaking vague rules, tends to damage their initiative. Who knows what else will bring down another punishment? Better to not take risks.
One thing that took me a surprisingly long time to learn was that when my calligraphy was going badly, I should stop and think about whether there's a problem caused by ink, paper, penpoint, or temperature/humidity. Before I had that realization, I would just keep trying the same thing, hoping that somehow matters would get better. It was sort of a moral issue-- perhaps if I was a good enough person I could get things right.
From the outside and after I figured this out, it seems as though I had very little sense. However, it was the amount of sense I had.
I was a somewhat spacey and very angry child (I think a good bit of the anger wasn't shown), and being shamed about incompetence did a lot to get me to give up on connecting to the world outside my head. If you startle someone who's being inept, it doesn't make them more competent. The rules are probably different for emergencies and I'm interested in what anyone has to say about being effective about getting people's attention.
This only feels like half an essay, but I think I might as well post it and see what further thoughts show up.
Meanwhile, a case of being told the rules repeatedly
and what it can take to believe a rule might be worth following.