Open/Closed Principle (OCP) гласит, что программные сущности должны быть открыты для расширения, но закрыты для модификации: новое поведение следует добавлять, создавая новый код, а не редактируя существующий, протестированный код.
Запах кода, на который нацелен OCP
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
