Das BESTE Tool für React Code Smells (React Doctor)

BBetter Stack
Computing/SoftwareJob SearchInternet Technology

Transcript

00:00:00React hat gerade ein neues Tool zum Scannen von Anti-Patterns namens React Doctor bekommen.
00:00:05Es wurde von Aidan Bai entwickelt, demselben supertalentierten Entwickler, der auch Million.js,
00:00:11React Grab, React Scan und Amy erschaffen hat.
00:00:14Und im heutigen Video schauen wir uns dieses Tool an, sehen uns an, wie es funktioniert, und probieren es
00:00:19selbst aus.
00:00:20Das wird ein Riesenspaß, also legen wir direkt los.
00:00:27React Doctor ist ein einfaches CLI-Tool, das gängige React-Anti-Patterns aufspüren soll, wie
00:00:33etwa unnötige Use-Effects, Barrierefreiheit-Probleme oder Prop-Drilling.
00:00:38Unter der Haube nutzt es OX lint, einen der schnellsten JavaScript-Linter, der in
00:00:43Rust geschrieben wurde.
00:00:44Und da OX lint auf Rust basiert, kann es zehntausende Zeilen Code in
00:00:49Millisekunden scannen.
00:00:50Es nutzt dies, um einen abstrakten Syntaxbaum (AST) Ihres Projekts zu erstellen und nach spezifischen
00:00:56React-Mustern wie Hook-Nutzung, Prop-Strukturen und Komponentengrenzen zu suchen.
00:01:01Es basiert auf mehr als 47 Best Practices für React und enthält hilfreiche Scans, wie zum Beispiel
00:01:08das Aufspüren von versehentlich hartkodierten Sicherheitsschlüsseln oder die Prüfung auf
00:01:13Loading-State-Muster, wobei es einen Bericht liefert, wann man dieses verwenden sollte und wann
00:01:19stattdessen besser "use transition" angebracht wäre.
00:01:21Dieses Projekt ist komplett Open Source und noch ganz frisch.
00:01:25Das ist also eine tolle Gelegenheit für die Community, zum Projekt beizutragen, indem ihr
00:01:30weitere Best-Practice-Prüfungen hinzufügt, die eurer Meinung nach hier noch fehlen.
00:01:33Ich finde, der coolste Teil dieses Projekts ist das UI.
00:01:36Es hat ein wirklich schönes Design und eine tolle Ästhetik, und dank OX lint ist es extrem schnell.
00:01:42Darüber hinaus kann man es auch als Skill für den eigenen Coding-Agenten ausführen oder
00:01:47es programmatisch verwenden, zum Beispiel in einer Node.js-API.
00:01:52Jetzt probieren wir das Tool mal selbst aus.
00:01:54Ich habe hier ein React-basiertes Projekt, ein einfaches Tool zur Visualisierung von Aktiencharts,
00:02:00das ich vor sechs Jahren geschrieben habe – damals, als KI noch gar kein Thema war.
00:02:04Es wird sehr interessant sein zu sehen, wie gut mein React-Code von vor sechs Jahren war.
00:02:09Ich werde also den Befehl "react-doctor" in meinem Repository ausführen.
00:02:12Und wie ihr sehen könnt, erhalten wir sofort ein Ergebnis.
00:02:15Und schaut euch das an.
00:02:16Mein Projekt hat eine fast perfekte Bewertung.
00:02:18Es freut mich wirklich sehr zu wissen, dass ich schon vor sechs Jahren qualitativ hochwertigen
00:02:24React-Code geschrieben habe.
00:02:25Alles klar, schauen wir uns an, was es entdeckt hat.
00:02:27Wir erhalten eine Warnung wegen der Verwendung des Index als Key, was absolut berechtigt ist.
00:02:31Außerdem wurde erkannt, dass "recharts" eine schwere Bibliothek ist.
00:02:35Daher wird mir empfohlen, stattdessen Lazy Loading zu verwenden.
00:02:38Zudem wurde bemerkt, dass ich vier "useState"-Aufrufe in einem einzigen "useEffect" habe.
00:02:44Hier sollte ich die Verwendung von "useReducer" in Betracht ziehen.
00:02:46Alles sehr valide Punkte.
00:02:48Vielen Dank, React Doctor.
00:02:49Und jetzt versuchen wir es mal mit einer größeren Codebasis.
00:02:52Hier ist ein sehr beliebtes CRM-Projekt namens "20", das eine Art Open-Source-Alternative
00:02:57zu Salesforce sein soll.
00:02:59Und es ist in React geschrieben.
00:03:00Klonen wir also dieses Repo und sehen wir uns an, wie React Doctor es bewertet.
00:03:04Sobald wir es ausführen, sehen wir, dass React Doctor automatisch erkennt, dass es sich um
00:03:08ein Mono-Repo handelt, und die einzelnen Pakete identifiziert.
00:03:12Schauen wir uns zuerst die Bewertung für das Marketing-Website-Paket an.
00:03:15Wie wir hier sehen können, ist auch diese ziemlich gut.
00:03:18Wir bekommen zwar einen Fehler, aber das ist nur ein fehlendes Alt-Tag.
00:03:22Insgesamt würde ich also sagen, das ist ein sehr gutes Ergebnis.
00:03:25Alles klar, prüfen wir jetzt zum Beispiel mal das Front-Paket.
00:03:30Dieses hat etwas schlechter abgeschnitten, da wir 99 Fehler haben, aber es ist immer noch im grünen Bereich.
00:03:35Hier ist also meine Empfehlung:
00:03:37Wenn ihr Entwickler seid und euer GitHub-Portfolio verbessern wollt, ist dies ein tolles Tool,
00:03:41um verschiedene Open-Source-Projekte zu scannen und Stellen zu finden, an denen ihr
00:03:47bedeutende Beiträge leisten könnt.
00:03:48Da habt ihr es also, Leute, das ist React Doctor in aller Kürze. Ich finde, es ist ein wirklich
00:03:52schönes, leichtgewichtiges und praktisches Tool, das beim Korrekturlesen und dem Sanity-Check
00:03:58eurer React-Projekte erheblich helfen kann.
00:03:59Ich werde es in Zukunft definitiv in meinen eigenen Projekten verwenden.
00:04:03Und Leute, wenn ihr dieses Video nützlich fandet, lasst es mich wissen, indem ihr auf den
00:04:07Like-Button unter dem Video klickt.
00:04:09Und vergesst nicht, unseren Kanal zu abonnieren, damit ihr keines unserer zukünftigen
00:04:14Videos verpasst.
00:04:15Ich bin Andris von Better Stack und wir sehen uns in den nächsten Videos.

Key Takeaway

React Doctor ist ein leistungsstarkes, auf Rust basierendes Analyse-Tool, das Entwicklern hilft, komplexe React-Anti-Patterns blitzschnell zu identifizieren und die Codequalität durch automatisierte Best-Practice-Prüfungen zu steigern.

Highlights

Vorstellung von React Doctor

Timeline

Einführung in React Doctor und den Entwickler

Das Video beginnt mit der Vorstellung des neuen Scanning-Tools namens React Doctor, das speziell für React-Anti-Patterns entwickelt wurde. Der Moderator hebt hervor, dass der Entwickler Aidan Bai hinter dem Projekt steht, welcher bereits durch Million.js und React Scan in der Community bekannt ist. Ziel des Videos ist es, die Funktionsweise des Tools zu erläutern und es in der Praxis zu testen. Diese Einleitung verdeutlicht die Relevanz des Tools innerhalb des modernen React-Ökosystems. Es wird eine spannende Untersuchung versprochen, die sowohl die Theorie als auch die praktische Anwendung abdeckt.

Technische Architektur und Kernfunktionen

In diesem Abschnitt werden die technischen Grundlagen von React Doctor erläutert, insbesondere die Nutzung von OX lint und Rust für maximale Performance. Das Tool erstellt einen abstrakten Syntaxbaum (AST), um Probleme wie unnötige Use-Effects, Prop-Drilling oder Sicherheitsrisiken wie hartkodierte Schlüssel zu finden. Mit über 47 integrierten Best Practices bietet es detaillierte Berichte, beispielsweise zur korrekten Nutzung von Loading-States versus "use transition". Ein besonderes Augenmerk liegt auf dem ansprechenden UI-Design und der Flexibilität, das Tool auch in Node.js-APIs oder Coding-Agenten einzubinden. Da das Projekt Open Source ist, wird die Community ausdrücklich dazu aufgerufen, eigene Prüfregeln beizutragen.

Praxistest an einem Legacy-Projekt

Der Moderator unterzieht ein eigenes, sechs Jahre altes React-Projekt zur Aktienvisualisierung einem Härtetest mit dem Befehl "react-doctor". Überraschenderweise erzielt der alte Code eine fast perfekte Bewertung, was die Beständigkeit guter Programmierpraktiken unterstreicht. Dennoch deckt das Tool spezifische Schwachstellen auf, wie die Verwendung von Indizes als Keys und die Notwendigkeit von Lazy Loading für die schwere Bibliothek "recharts". Zudem wird empfohlen, bei multiplen State-Updates innerhalb eines Effects lieber auf "useReducer" zu setzen. Diese konkreten Verbesserungsvorschläge zeigen den praktischen Nutzen von React Doctor für die Refaktorisierung von Altcode auf.

Analyse eines großen Open-Source-Projekts

Um die Skalierbarkeit zu prüfen, wird das Tool auf das umfangreiche Open-Source-CRM-Projekt "20" angewendet, das als Alternative zu Salesforce dient. React Doctor erkennt hierbei automatisch die Struktur des Mono-Repos und analysiert die verschiedenen Pakete wie das Marketing-Website-Modul separat. Während die Website nur kleine Fehler wie fehlende Alt-Tags aufweist, zeigt das Front-Paket mit 99 Fehlern einen größeren Optimierungsbedarf, bleibt aber insgesamt stabil. Dieser Test demonstriert eindrucksvoll, wie schnell das Tool selbst komplexe Unternehmensanwendungen verarbeiten kann. Es wird deutlich, dass React Doctor auch für die Wartung großer Codebasen hervorragend geeignet ist.

Fazit und Empfehlungen für Entwickler

Zum Abschluss gibt der Moderator den strategischen Rat, React Doctor zu nutzen, um gezielt Fehler in fremden Open-Source-Projekten zu finden und so das eigene Portfolio zu stärken. Das Tool wird als leichtgewichtiges, aber extrem hilfreiches Werkzeug für den täglichen "Sanity-Check" von Code beschrieben. Der Sprecher Andris betont, dass er das Tool künftig fest in seinen eigenen Workflow integrieren wird. Das Video endet mit einem Aufruf zur Interaktion, indem die Zuschauer gebeten werden, den Kanal für weitere technische Einblicke zu abonnieren. Diese Zusammenfassung unterstreicht noch einmal den hohen Mehrwert für die professionelle Softwareentwicklung.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video