OO Design Principles Compilation
mmiika.wordpress.com
mmiika.wordpress.com
Instead of thinking in shoulds I like to think in terms of causes and effects. If you don't follow the law of demeter then these will be the effects. Then the programmer realizes they have a choice: even though the law of demeter usually brings about desirable consequences, maybe in a particular situation the effects of not following the law of demeter bring about the better set of consequences.
Thinking in terms of causes and effects also loosens potential dogma.
There is little value in following programming rules that you don't understand.
People don't just suddenly know how to write good programs. They read materials, they write code and continue to learn from other people.
Sorry, I don't buy the myth and folklore. I used to about 3-4 years ago before I realized that many stories were hyped up.