**Open/Closed Principle(OCP)**은 소프트웨어 엔티티가 확장에는 열려 있고 수정에는 닫혀 있어야 한다고 말합니다: 기존의 테스트된 코드를 편집하는 것이 아니라 새 코드를 추가함으로써 새 동작을 추가해야 합니다.
OCP가 겨냥하는 냄새
python
# 확장에 닫힘: 새 도형마다 이 메서드를 편집 (위험하고, 전부 다시 테스트)
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
