Software Design Principles
As you build applications using the patterns we learned in the previous chapter, you begin to see some common side effects or, as they are otherwise known: “code smells”. These monikers are ambiguous and don’t readily communicate what the actual problems might be. Not like the term “carcinogen” or “repellant”.
Understanding what these terms mean as well as why people say them can take years. Often you come to understand that many people who utter these phrases are just repeat- ing what’s been said to them, usually misunderstanding the reasons why and completely missing the point altogether. But not you! You're about to learn what these terms mean and how to use them intelligently.