This makes no sense to me. If the code design is bad there ought to be a concrete, unambiguous way to show this. If it's not possible to show this, how was there ever a problem in the first place?
It is possible to show in a concrete, unambiguous way, but unfortunately, the cases where the problems become clearly apparent tend to be large - way too large for a casual forum reply or a blog post.
I'll still take a stab at trying to explain what the problem is.
First, we have to define object-oriented programming, which isn't easy, because everyone seems to have their own ideas about the subject. They all do seem to agree that there should be a notion of objects, being things that have state (called "fields" or "properties") as well as associated behavior (called "methods"); further, objects form identities, that is, each object is identical to itself and only to itself, and has some sort of unique identifier (typically an ID, a memory address, or some sort of abstract handle or reference). Another fe