不同作者对“异味”（smell）有不同的定义：设计异味指示了积累的设计负债（技术负债的主要维度）。Bug与未实现功能不算是设计异味。设计异味产生于很差的设计决策，使得设计脆弱、难于维护。在一个软件系统中辨别设计异味，应用适当的重构去除异味，避免积累技术负债，是好的实践。在确定特定结构或决策是否算作设计异味时，上下文环境（如问题清单、设计生态圈、平台等）扮演了重要角色。很多时候，由于上下文环境所限，只好容忍设计异味。
面向对象设计的有助于消除异味的原则.面向对象设计的SOLID