Technische Schulden: Meine Rust-Bibliothek ist jetzt ein CDO
- Als Witz über technische Schulden gibt es die Pointe, dass es, wenn es technische Schulden gibt, auch Derivate geben müsse, um diese Schulden zu handhaben.
- Das Rust-Ökosystem bringt eine Lösung hervor, die so wirkt, als würde sie technische Schulden verbriefen.
- Zum Beispiel hängt eine Bibliothek
stuff von einer anderen Bibliothek learned-rust-this-way ab, doch der Autor von learned-rust-this-way verliert das Interesse, und Probleme beginnen sich anzusammeln.
Die Realität technischer Schulden
learned-rust-this-way gilt als technische Schuld; sie verursacht nicht unmittelbar Probleme, ist aber dennoch eine Schuld.
- Irgendwann erkennt jemand, dass
learned-rust-this-way eine Schuld ist, und da der ursprüngliche Autor nicht erreichbar ist, wird sie der RUSTSEC-Datenbank hinzugefügt.
- RUSTSEC bewertet als Rating-Agentur diese Schuld als Müll, wodurch bei vielen Menschen die CI (Continuous Integration) zu scheitern beginnt.
Wie sich die Schuld lösen lässt
- Als Maintainer von
stuff steigt der Stress, wenn Nutzer Probleme mit der Verwendung von learned-rust-this-way ansprechen, und es wird verlangt, Maßnahmen zum Umgang mit der Schuld zu ergreifen.
- Der Umstieg auf eine Alternative ist eine Option, aber in diesem Fall sind alle Alternativen unattraktiv.
- Wenn man
learned-rust-this-way forkt, steht man vor denselben Anforderungen; das ist nur eine vorübergehende Lösung und behebt das Problem nicht.
Eine Lösung, die tatsächlich funktioniert
- Wenn man den betreffenden Code in die eigene Bibliothek integriert, wird diese wertlose technische Schuld plötzlich mit „AAA“ bewertet.
- Man fasst den Code danach nicht mehr an, verschweigt die Zusammenführung und pflegt die Bibliothek wie zuvor weiter, und die Welt dreht sich weiter.
- Durch das Vendoring und Integrieren von
yaml-rust in insta wurde daraus eine Kombination aus insta-Code und yaml-rust, wodurch die technische Schuld auf AAA hochgestuft wurde.
Meinung von GN⁺
- Dieser Artikel vergleicht technische Schulden mit Finanzderivaten und erklärt damit auf geistreiche Weise Probleme, die in der Softwareentwicklung entstehen.
- Technische Schulden sind ein häufiges Problem in der Softwareentwicklung, und der Artikel zeigt Entwicklern kreative Wege auf, mit diesen Schulden umzugehen.
- Bewertungssysteme im Rust-Ökosystem wie RUSTSEC können Entwicklern helfen, die Stabilität von Bibliotheken einzuschätzen, zugleich aber auch unnötigen Stress verursachen.
- Das Zusammenführen von Code zur Lösung technischer Schulden kann eine vorübergehende Maßnahme sein; langfristig ist eine nachhaltige Wartungsstrategie erforderlich.
- In solchen Situationen sollten verschiedene Lösungen in Betracht gezogen werden, etwa community-getriebene Wartung, Co-Maintenance von Open-Source-Projekten oder die Suche nach Ersatzversionen einer Bibliothek.
1 Kommentare
Hacker-News-Kommentare