Это свойство программных систем также иногда называют принципом открытости/закрытости, подразумевающим, что системы должны быть открыты для расширения (дополнения), но закрыты для изменения.
Свойства, которые мы не проверяем в коде явно (или проверяем только с помощью утверждений), называются инвариантами. Утверждения «Это число никогда не будет отрицательным» и «Этот файл точно существует» являются примерами инвариантов.