Abwärtskompatibilität vs. langfristiges Planen
Kommentare

PHP Core-Mitwirkender und Passwort-Hashing-API-Gestalter Anthony Ferrara ist bekannt für meinungsstarke Blog-Postings. So fällt er auch diesmal mit dem Titel „Backwards Compatibility Is For Suckers“

PHP Core-Mitwirkender und Passwort-Hashing-API-Gestalter Anthony Ferrara ist bekannt für meinungsstarke Blog-Postings. So fällt er auch diesmal mit dem Titel „Backwards Compatibility Is For Suckers“ aus dem Rahmen, wo er Abwärtskompatibilität als schlechte Praxis verurteilt. Populäre Beispiele sind hier Windows und PHP, die es in ihrer Weiterentwicklung als Primärziel ansehen, alte Software weiter am Leben zu erhalten. Und dies sei genau der falsche Ansatz.

Tons of popular software projects from PHP to Microsoft Windows have stated goals of providing Backwards Compatibility between releases. And yes, I am here to say that they are doing it wrong.

BC ist lediglich für kurze Zeiträume hilfreich. Langfristig müsse man anders planen. Daher stellt Ferrara den Begriff der „Forward Compatibility“ vor, bei der man schon zu Beginn seines Projekts mögliche Auswüchse antizipieren sollte, um an bestimmten Stellen Ausbaupfade offen zu halten. So habe er dies auch in seinem Password Hashing API beachtet, indem er $options als Array angelegt hatte, was für die derzeitigen Auswahlmöglichkeiten cost und salt freilich überdimensioniert ist, jedoch Raum für zukünftige Parameter bietet.

Leider beißt sich dieses Modell mit dem Extreme-Programming-Prinzip YAGNI, You Ain’t Gonna Need It, da bewusst nutzlose Komponenten und APIs implementiert werden. Aber nur abgeschlossenen Code zu schreiben, der das aktuelle Problem passgenau löst, sei laut Ferraras Ausführungen immer zum Scheitern verurteilt, sobald neue Anforderungen an ihn gestellt werden.

Bild: Fingers pushing two matching puzzle pieces together von Shutterstock / Urheberrecht: Elena Elisseeva

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -