Connascence, a better vocab to talk about code smells as it has heirarchy and refers back to a real problem: coupling.
If you haven’t watched Jim’s talk yet, I’ll remind you to go ahead and do that now. But assuming for some reason you can’t or won’t, you should know that the kinds of complexity that connascence can be used to reason about typically have something to do with coupling. The relationship between the concept of connascence to the concept of coupling becomes a little more clear when you look at the various kinds of connascence that can be found in software systems. Below I’ve listed out the various kinds of connascence in order from weakest to strongest.
Full article:
http://blog.rubybestpractices.com/posts/gregory/056-issue...