In unserer Firma haben wir eine Definition, was eine brechende Veränderung ist.
Es ist eine Änderung
%Vor%Würdest du sagen, dass dies eine gute / vollständige Definition einer brechenden Veränderung ist? Fehlt etwas? Würden Sie eine Änderung des Datenbankschemas als eine brechende Änderung betrachten (z. B. eine neue Spalte oder eine neue Tabelle)?
Vielen Dank im Voraus.
BEARBEITEN: Gerade gefunden Eine definitive Anleitung zu API-brechenden Änderungen in .NET
Der erste Punkt ist zu entscheiden, was "breaking change" auf Englisch bedeutet *. An einigen Stellen wäre es nur etwas, das den Code daran hindert, zu kompilieren / zu laufen.
Von Ihrer bisherigen Liste nehme ich an, dass Sie eine Änderung meinen, die andere Leute dazu bringen wird, eine entsprechende Änderung vorzunehmen. In diesem Fall, da jedes Modul Ihres Produkts eine gut definierte Schnittstelle haben sollte (sei es zu anderen Modulen, einer öffentlichen REST-Schnittstelle, dem Dateisystem des Systems, einer GUI, einer Webapp usw.), ist eine brechende Änderung alles andere als entfernt etwas von einer dieser Schnittstellen (oder fügt eine neue -Anforderung für ihre Verwendung hinzu) - in der Tat, wenn Sie die vorherige Version des Produkts nicht verwenden und nur
Ja, Datenbankänderungen führen in der Regel zu einem Brechen der Änderungen (es sei denn, es gibt Code für eine automatische Aktualisierung und möglicherweise eine automatische Herunterstufung nach Bedarf).
Der wichtigste Punkt ist, was keine brechende Änderung ist - Änderungen innerhalb eines Moduls oder nicht dokumentierte Schnittstellen (d. h. solche, die nicht verwendet werden sollten) sind keine brechenden Änderungen. Wenn solche Dinge Ihr Produkt brechen, dann ist die Kapselung nicht erfolgreich.
* oder Ihre (menschliche) Sprache der Wahl.
Tags und Links architecture