Open/Closed Principle (OCP) भन्छ कि सफ्टवेयर इकाइहरू विस्तारको लागि खुला तर परिमार्जनको लागि बन्द हुनुपर्छ: तपाइँले अवस्थित, परीक्षण गरिएको कोड सम्पादन गरेर होइन, नयाँ कोड थपेर नयाँ व्यवहार थप्नुपर्छ।
OCP ले लक्ष्य गरेको smell
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
