Abstract

Gute Erklärung was semantische Versionierung ist und weshalb diese benutzt wird.

Description

Vorschlag für semantische Programmierung: Major,Minor,Patch Major Änderung bei Bruch des API (nicht abwärtskompatible) Minor Änderung bei neuen Featuren ohne API Bruch Patch Änderung bei Fehlerfixing ohne API Bruch Um sicherzustellen, dass das API nicht gebrochen wurde wird eine Testsuite benötigt - Technical Compatibility Kits (TCK). Wie diese TCK beschaffen sein muss und nach welchen Gesichtspunkten diese zu erstellen ist wurde leider nicht beschrieben. Aus meiner persönlichen Sicht müssen Dinge wie Parametertanzahl, ~typen und Wertebereiche für Methoden durch das TCK geprüft werden auf gültig und ungültig. Ausserdem müssten die verfügbaren Methoden je Klasse geprüft werden. Da das alles keine Fachlichkeit berührt dürfte es per Annotation generierbar sein. Allerdings sollten auch fachliche Prüfungen erfolgen (die sind dann manuell zu implementieren) z.B. ob ein persistentes Item 2 x gespeichert werden darf oder verschiedenen anderen Items zugeordnet werden darf etc. Bei korrekter Angabe von Kardinalitäten und NotNull Constraints können sogar diese Tests evtl. generiert werden.

Links and resources

Tags