在确定特定结构或决策是否算作设计异味时，上下文环境（如问题清单、设计生态圈、平台等）扮演了重要角色。很多时候，由于上下文环境所限，只好容忍设计异味。
面向对象设计的有助于消除异味的原则.面向对象设计的SOLID五大原则：单一功能原则：一个类只应有一个“改变的原因”（即功能）；开闭原则：软件实体（类、模块、函数等）应当对扩展是开放的，对修改是关闭的；里氏替换原则：子类型能替换基类型；依赖反转原则：高层模块不应依赖于低层模块，二者应当依赖于抽象。抽象不应依赖与细节。细节应当依