Wissen, woraus Ihre .NET-Framework-Anwendung besteht, bevor jemand sie anfasst.
Legacy Lens liest die gesamte Solution auf Ihrem eigenen Rechner und liefert einen gemessenen Bericht: was vorhanden ist, was Probleme machen wird, was den Umstieg auf modernes .NET blockiert und in welcher Reihenfolge vorzugehen ist.
Das Problem
Eine Anwendung, die niemand anzufassen wagt.
Sie läuft auf .NET Framework. Das Geschäft läuft auf ihr. Wer sie geschrieben hat, ist nicht mehr da. Niemand kann ohne wochenlanges Lesen sagen, was ein Umstieg auf modernes .NET erfordern würde und wo man anfangen soll.
Also bleibt sie, wo sie ist, und jedes Jahr kostet ihr Unterhalt etwas mehr.
Was es liefert
Ein Dokument, kein Dashboard.
- Die KarteProjekte, Abhängigkeiten, Grössen, Zielframeworks und welche Projekte von keinem Test referenziert werden.
- Die RisikodateienNach Struktur und Änderungshäufigkeit zusammen gereiht, mit den Gründen neben jeder Datei.
- Was blockiertPakete ohne Zukunft, APIs, die es nicht mehr gibt, und wie viel davon der Code tatsächlich nutzt.
- Die Reihenfolge der ArbeitenWas alles andere blockiert, was ein Werkzeug selbst erledigt, was eine Entscheidung braucht. Eine Abhängigkeitsfolge, kein Zeitplan.
- Ein SicherheitsnetzCharakterisierungstests, die festhalten, was der Code heute tut, kompiliert und ausgeführt, bevor jemand sie sieht.
- Mechanische Konvertierungenpackages.config, SDK-Projektformat, Paketversionen, Konfiguration: jede als Diff, den niemand angewendet hat.
Warum vertrauen
Nichts darin ist generiert.
- Nichts verlässt Ihren Rechner.Die Analyse läuft auf Ihrem Arbeitsplatz oder Ihrem Server. Kein Quellcode wird an einen Drittanbieter gesendet.
- Jede Zahl ist gemessen.Aus den Projektdateien, dem Quelltext und der Git-Historie. Kein Sprachmodell schreibt den Bericht: Jeder Satz ist eine Vorlage, gefüllt mit einer gemessenen Zahl.
- Was nicht gesehen wurde, steht drin.Der Bericht endet mit dem, was er nicht messen konnte: dass nichts kompiliert wurde, dass die Testabdeckung auf einer Namenskonvention beruht, wie viele Pakete nicht eingeordnet sind.
- Nichts wird ohne einen Menschen angewendet.Konvertierungen entstehen als Patches. Ein Mensch liest sie und entscheidet. Das Werkzeug pusht nichts und schreibt nie in Ihre Arbeitskopie.
Nachweis an echtem Code
Gemessen an zwei öffentlichen Codebasen.
Orchard CMS und nopCommerce 3.90, beide ASP.NET MVC auf .NET Framework. Keine davon gehört uns, und keine ist im Repository abgelegt.
- 414’611Zeilen Orchard CMS, 89 Projekte, in rund zehn Sekunden analysiert, ohne etwas zu kompilieren.
- 0 Fehlernach der Konvertierung: Orchard (88 Projekte) und nopCommerce 3.90 (31) bauen, geprüft auf einem gehosteten Windows-Runner.
- ~400 / 128Charakterisierungstests behalten, auf Orchard und auf nopCommerce, jeder kompiliert und bestanden.
- 900+automatisierte Tests im Werkzeug selbst. Der Code ist öffentlich.
Noch nicht bewiesen: Die konvertierten Anwendungen wurden gebaut, nicht ausgeführt. Ob sie starten und eine Seite ausliefern, ist eine eigene Messung.
Beispielbericht
Der vollständige Bericht zu Orchard CMS.
Vom Werkzeug erzeugt, unverändert und auf Englisch, so wie es ihn ausgibt.
orchard is 89 projects and 414,611 lines across 6,203 source files. Everything targets v4.8. No test project references 45 of the 78 projects that ship code, covering 75,908 lines.
Wer dahintersteht
Selim Selimi.
Senior .NET Engineer in Genf. Mitwirkender bei ILSpy, dem .NET-Decompiler, und bei REA. Legacy Lens ist seine Arbeit, und der Code ist öffentlich.
Kontakt
Ein Gespräch von 20 Minuten, unverbindlich.
Wir schauen uns Ihre Situation gemeinsam an und klären, ob eine Analyse für Sie sinnvoll ist.
selimi1203@gmail.com
Gespräche auf Englisch oder Französisch, Deutsch auf Anfrage.