If CodeDeodorant is a coding pattern/principle removes a CodeSmell without removing its cause, then CodePerfume is one of those CodeDeodorant''''''s that introduces its own CodeSmell''''''s even while masking others. An example is TellDontAsk, especially when implemented in an ObjectOriented language with ''closed'' class definitions (i.e. where programmers cannot modify the methods of an object without modifying the source-code of that object's class). TellDontAsk masks a FeatureEnvy smell, but introduces other smells by both violating the OneResponsibilityRule and tightly coupling the class vocabulary to the project that uses it - a serious blow to reuse and modularity. Of course, the ability to choose ''how'' the CodeSmell''''''s is an advantage. As with those sticks of underarm deodorants we can purchase in real life, it is likely that most CodeDeodorant is at least slightly 'perfumed' and will introduce its own CodeSmell''''''s.