Квалификатор, если он может взломать код. Строго говоря, критическое изменение - это то, что потенциально может нарушить код тех, кто использует ваш API. В не строго типизированном языке, если вы можете гарантировать, что объекты достаточно похожи, поэтому, если любой код, который работает с SomeObject
, также работает с SomeNewObject
, то это не принципиальное изменение.
В строго типизированном языке изменение типа будет автоматически классифицировано как критическое изменение, поскольку переменная с типом SomeObject
не сможет получить объект типа SoneNewObject
. неразрывное изменение будет, например, если вы добавите новую функцию.