Token-Verkäufe (ICO)

Die Entwicklung der Codemod-Plattform bei Lyft: Automatisierung für effiziente Softwareentwicklung

Token-Verkäufe (ICO)
Building the Codemod Platform at Lyft

Ein umfassender Überblick über die innovative Codemod-Plattform bei Lyft, die es ermöglicht, Softwareabhängigkeiten automatisch und nahtlos zu aktualisieren, technische Schulden zu reduzieren und Entwicklern mehr Zeit für wertschöpfende Aufgaben zu geben.

Die kontinuierliche Weiterentwicklung von Software ist in Unternehmen jeder Größe eine Herausforderung, insbesondere wenn es darum geht, Abhängigkeiten und Bibliotheken stets aktuell zu halten. Gerade in großen Organisationen mit zahlreichen Frontend-Microservices wird die manuelle Anpassung an neue Versionen schnell zu einem zeitraubenden und fehleranfälligen Prozess. Lyft, eines der führenden Technologieunternehmen im Mobilitätssektor, hat dieses Problem erkannt und mit der Entwicklung einer eigenen Codemod-Plattform eine innovative Lösung geschaffen, die den gesamten Upgrade-Prozess automatisiert und vereinfacht. Die Codemod-Plattform bei Lyft entstand aus dem Bedürfnis, technische Altlasten effizient zu beseitigen und gleichzeitig die Entwicklerproduktivität zu steigern. Während die Einführung neuer Features in der Softwareentwicklung meist höchste Priorität hat, führt das Vernachlässigen von Abhängigkeits-Updates zu langfristig höheren Kosten und erschwert die Wartung.

Indem Lyft eine Plattform entwickelte, die automatisch Code-Transformationen – sogenannte Codemods – durchführt, können APIs und Bibliotheken ohne manuellen Aufwand auf den neuesten Stand gebracht werden. Codemods sind dabei Skripte, welche Quellcode analysieren und gezielt verändern. Sie arbeiten auf Basis des Abstract Syntax Tree (AST), einer abstrakten Baumstruktur, die den Quellcode in einzelne Komponenten zerlegt und so präzise Manipulationen ermöglicht. Während es bereits mehrere Werkzeuge im Open-Source-Bereich gab, entschied sich Lyft für jscodeshift als Grundlage, da es parsing, Transformation und Writing integriert vereint und zudem TypeScript, JSX und JavaScript unterstützt. Die Plattform bietet Lyft spezifisch eine Reihe von Vorteilen, die den Unterschied in der Anwendung und Skalierbarkeit ausmachen.

Eine der größten Herausforderungen war es, die Flexibilität zu gewährleisten, sodass nicht nur einzelne Codemods ausgeführt werden können, sondern auch Abhängigkeiten zwischen Transformationen berücksichtigt werden. Durch die Möglichkeit, mehrere Transformationen zu verketten und eigene Upgradeklassen zu definieren, wurde eine modulare Struktur geschaffen, die große Komplexität bewältigt und gleichzeitig robust bleibt. Ein weiteres wichtiges Element ist die sogenannte Eligibility-Prüfung. Diese Funktion sorgt dafür, dass Codemods nur auf diejenigen Microservices angewandt werden, die die entsprechende Abhängigkeit auch tatsächlich nutzen. Das spart wertvolle Ressourcen in der Integration und verhindert unnötige Codeänderungen in nicht betroffenen Repositories.

Lyft ging zudem einen Schritt weiter, indem mit Evergreen-Codemods ein Mechanismus entwickelte wurde, der vor und nach einer Transformation notwendige Voraussetzungen automatisch verwaltet. So wird beispielsweise bei einem Upgrade der internen Bibliothek @lyft/service sichergestellt, dass vor der Anwendung des Codemods alle nötigen Pakete wie Sass installiert sind, um Fehler durch fehlende Abhängigkeiten zu vermeiden. Durch diese proaktiven Prüfungen kann der Upgrade-Prozess komplett automatisiert und extrem zuverlässig gestaltet werden. Die Plattform wurde zudem um die Fähigkeit erweitert, nicht nur JavaScript- und TypeScript-Code, sondern auch andere Dateien wie YAML, JSON oder .env-Dateien zu transformieren.

Damit umfasst die Automatisierung auch Konfigurationsänderungen und Umgebungsvariablen, was die Anwendbarkeit der Codemods erheblich steigert und den Wartungsaufwand in verschiedensten Bereichen der Entwicklung verringert. Eine klare und durchgängige Namenskonvention wurde bei der Entwicklung der Codemod-Plattform ebenfalls eingeführt. Indem Transformationen transparent benannt werden, beispielsweise mit dem Format verb-nomen und der Ergänzung der Version, wird die Bedienung intuitiver und die Wartung erleichtert. Auch wurde festgelegt, nur bestimmte Zeichen zu nutzen, um Versionskonflikte und Verwechslungen zu vermeiden. Dies unterstützt eine einheitliche und skalierbare Verwaltung der zahlreichen Codemods, die zum Einsatz kommen.

Durch die Integration bekannter Open-Source-Codemods, etwa von Next.js oder React, konnte Lyft zudem viel Entwicklungserfahrung wiederverwenden und die eigene Plattform gleichzeitig mit umfangreichen, erprobten Transformationen erweitern. Dies verdeutlicht den pragmatischen Ansatz bei der Entwicklung, der bewährte Tools nicht ersetzt, sondern sinnvoll ergänzt. Für Entwickler bietet die Codemod-Plattform eine CLI (Command Line Interface) an, die sich unkompliziert über npx ausführen lässt, ohne dass globale Installationen notwendig sind. Dies macht die Codemods für jeden Entwickler innerhalb von Lyft schnell zugänglich und fördert die Verbreitung und Nutzung innerhalb verschiedenster Teams.

Die Plattform sorgt damit für eine Standardisierung und einheitliche Prozesse, die im gesamten Unternehmen Anwendung finden. Ein Beispiel, wie Codemods konkret genutzt werden können, ist das Entfernen eines nicht mehr unterstützten Props aus einer gemeinsam genutzten Button-Komponente im Core-UI-Bibliothek. Dieses Update, das tausendfach händisch durchgeführt worden wäre, lässt sich mit einem entsprechenden Codemod in Sekundenschnelle über alle relevanten Frontend-Microservices hinweg automatisch transformieren. Dadurch wird nicht nur die Qualität der Software verbessert, sondern vor allem auch Zeit eingespart, die Entwickler ansonsten mit repetitiver Arbeit verbringen müssten. Die Plattform erlaubt dabei verschiedene Komplexitätsgrade: einfache Transformationen können genauso umgesetzt werden wie komplexe Abläufe, in denen mehrere Codemods hintereinander laufen, verschiedene Abhängigkeiten geprüft und anschließend Fremd-Codemods von Drittanbietern integriert werden.

Diese Flexibilität macht den Einsatz in einem umfangreichen Mikrodienst-Ökosystem erst möglich. Die Veröffentlichung der Codemod-Plattform als eigenständiges npm-Paket mit Versionsverwaltung nach semantischem Versioning bietet den großen Vorteil, dass verschiedene Teams unabhängig voneinander Innovationen und Fehlerbehebungen testen können, ohne sich gegenseitig zu behindern. In der Continuous-Integration-Umgebung von Lyft wird stets die aktuellste Version ausgeführt, so dass alle Dienste von den neuesten Verbesserungen profitieren und keine veralteten Codemods mehr laufen. Das Testen der Codemods wird mithilfe des defineTest-Tools von jscodeshift erleichtert. Durch den Vergleich von sogenannten Fixture-Dateien vor und nach der Transformation wird sichergestellt, dass Codemods wie gewünscht funktionieren und keine Fehler einführen.

Zusätzlich nutzt das Team regelmäßig den AST Explorer, ein grafisches Tool, das die Struktur der Codebäume visualisiert und Entwicklern das Experimentieren mit AST-Manipulationen ermöglicht. Dies erhöht die Genauigkeit und Effizienz bei der Entwicklung neuer Codemods erheblich. Die Ergebnisse der Einführung der Codemod-Plattform bei Lyft sprechen für sich. Die Automatisierung technischer Schulden ermöglicht eine kontinuierliche Pflege und Modernisierung der zugrundeliegenden Bibliotheken statt großer, seltener und risikobehafteter Major-Updates. Dadurch konnten hunderte von Entwicklerstunden eingespart werden, da manuelle Prüfungen, Dokumentationsstudium und Fehlerbehebung weitgehend entfallen.

Eine besonders positive Auswirkung war die Integration mit dem bereits existierenden Refactorator-Tool, das automatisierte Pull Requests für umfangreiche Codeänderungen erzeugt und verwaltet. Dank der Codemods sind diese PRs häufig direkt aut-omergbar, was die gesamte Entwicklungs- und Release-Pipeline erheblich beschleunigt und entlastet. Die Migration auf neue Komponenten-Bibliotheks-Generationen wurde somit von Monaten auf Wochen reduziert. Langfristig plant Lyft, die Codemod-Plattform weiter auszubauen. Neben regelmäßigen Aufräumarbeiten, bei denen redundante Konfigurationen und Duplikate in Microservices automatisch entfernt werden, sollen Entwickler bald durch integrierte Feedbackschleifen in lokalen Entwicklungsumgebungen und CI-Pipelines frühzeitig über notwendige Transformationen informiert werden.

Dies unterstützt noch frühzeitigeres Handeln und verbessert die Codequalität deutlich. Ein weiterer spannender Zukunftsausblick ist die Erprobung von KI-gestützten Codemods, die transformierende Vorschläge basierend auf Änderungsmustern oder Dokumentationen generieren und so manuellen Aufwand weiter reduzieren können. Dieser Ansatz könnte einen weiteren Quantensprung in der Automatisierung von Softwarewartung bringen und Entwickler nachhaltig entlasten. Zusammengefasst zeigt die Codemod-Plattform von Lyft, wie technologische Innovationen gezielt eingesetzt werden können, um klassische Herausforderungen in der Softwareentwicklung zu meistern. Durch Automatisierung, Standardisierung und intelligente Toolintegration gelingt es, technische Schulden nicht nur zu managen, sondern proaktiv abzubauen, ohne dass die Entwickler der Entwicklung neuer Features daran gehindert werden.

Die Entwicklung dieser Plattform wurde durch die engagierte Arbeit eines spezialisierten Teams ermöglicht, das kontinuierlich neue Funktionen, Hilfsmittel und Transformationen beisteuert. Lyft zeigt damit einmal mehr, wie wichtig es ist, in Entwickler-Tools zu investieren, um ganze Organisationen effizienter und innovativer zu machen. Die Codemod-Plattform steht exemplarisch für eine zukunftsorientierte Entwicklungskultur, die nicht nur Probleme löst, sondern aktiv die Arbeitsweise von Entwicklern verbessert und nachhaltigen technischen Fortschritt ermöglicht.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Dubliner, 24, set for trial accused of helping ‘darknet market’ gang launder €14m in cryptocurrency criminal proceeds
Mittwoch, 11. Juni 2025. Junger Dubliner vor Gericht: Vorwürfe der Geldwäsche von 14 Millionen Euro in Kryptowährungen im Darknet

Ein 24-jähriger Mann aus Dublin steht vor Gericht, da ihm vorgeworfen wird, eine Darknet-Kriminalitätsorganisation bei der Geldwäsche von 14 Millionen Euro durch Kryptowährungen unterstützt zu haben. Der Fall wirft ein Schlaglicht auf die Herausforderungen der Cyberkriminalität und der Regulierung digitaler Finanzmärkte in Irland.

Bitcoin vor entscheidender Fed-Sitzung: Markt hält den Atem an
Mittwoch, 11. Juni 2025. Bitcoin vor der entscheidenden Fed-Sitzung: Ruhe vor dem Sturm im Kryptomarkt

Die bevorstehende Sitzung des Federal Open Market Committee (FOMC) sorgt für gespannte Erwartungen am Kryptomarkt. Bitcoin, Ethereum und Altcoins stehen vor wegweisenden Kursbewegungen, während Investoren weltweit auf Hinweise zur US-Zinspolitik warten.

Kaj Labs: Colle AI Refines Bitcoin Framework to Enhance Multichain NFT Trade Fluidity
Mittwoch, 11. Juni 2025. Kaj Labs revolutioniert den Bitcoin-Rahmen: Colle AI steigert die Fluidität des Multichain NFT-Handels

Kaj Labs setzt mit Colle AI neue Maßstäbe bei der Optimierung des Bitcoin-Frameworks, um die Flüssigkeit und Effizienz des Multichain NFT-Handels zu verbessern und damit die Zukunft des digitalen Handels zu prägen.

Building the Codemod Platform at Lyft
Mittwoch, 11. Juni 2025. Effiziente Codewartung bei Lyft: Die Entstehung der Codemod-Plattform für automatisierte Codeanpassungen

Die Codemod-Plattform von Lyft revolutioniert die Art und Weise, wie Softwareteams Abhängigkeitsupgrades und Codeumstellungen automatisieren. Durch den Einsatz intelligenter Transformationsskripte verbessert Lyft die Entwicklungsprozesse, reduziert manuellen Aufwand und erleichtert die Wartung von Hunderten von Microservices im Frontend-Bereich.

NymVPN: Redefining Privacy in the Digital Age
Mittwoch, 11. Juni 2025. NymVPN: Die Revolution des Datenschutzes im digitalen Zeitalter

NymVPN setzt neue Maßstäbe im Online-Datenschutz durch eine dezentrale Infrastruktur, die sowohl Inhalte als auch Metadaten schützt und somit ein Höchstmaß an Anonymität garantiert. Erfahren Sie, wie NymVPN herkömmliche VPNs übertrifft und warum es die Zukunft privater Internetnutzung repräsentiert.

Blockchain gamification drives 230K‑user growth as DePIN market hits $18.9B
Mittwoch, 11. Juni 2025. Wie Blockchain-Gamification das Nutzerwachstum antreibt und den 18,9-Milliarden-Dollar-DePIN-Markt revolutioniert

Blockchain-Gamification gestaltet die Nutzerbindung und -akquise auf neue Weise, indem spielerische Elemente eingeführt werden, um die Akzeptanz im DePIN-Markt zu steigern. Der Artikel beleuchtet die wachsende Bedeutung der Gamification im Blockchain-Bereich, die Auswirkungen auf Layer-1- und Layer-2-Netzwerke sowie innovative Projekte, die den Markt transformieren.

Tesla, Inc. (TSLA): China FSD Potential Key to Future Valuation
Mittwoch, 11. Juni 2025. Tesla in China: Das immense Potenzial von Full Self-Driving (FSD) für die zukünftige Bewertung

Die Entwicklung und Einführung von Teslas Full Self-Driving-Technologie in China spielt eine entscheidende Rolle für die zukünftige Bewertung des Unternehmens. Der chinesische Markt bietet enorme Chancen, die das Wachstum und den Wert von Tesla erheblich beeinflussen können.