Mach deinen Code sauberer mit diesem neuen Linter

BBetter Stack
컴퓨터/소프트웨어

스크립트

00:00:00Es stellt sich heraus, dass noch so viele Anpassungen an deiner Claude.md den Schrott nicht aus deiner Codebasis fernhalten.
00:00:05Einiges rutscht durch und manchmal ignorieren Agents die Regeln komplett, aber glücklicherweise.
00:00:09hilft uns der bescheidene Linter: anti-slop sind Regeln für Oxlint, die TypeScript- und JavaScript-Muster.
00:00:15mit geringer Evidenz und schwachem Signal ablehnen. In diesem Video schauen wir uns also an, wie man diese.
00:00:20in deinem Projekt verwendet und wie sie deinen Agents helfen können, Code von höherer Qualität zu produzieren.
00:00:30Anti-slop sind also einfach Linter-Regeln, die minderwertigen Code direkt an der Quelle abfangen können. Das Repo enthält eine.
00:00:36lange Liste verschiedener Regeln, um Dinge wie verkettete Typzusicherungen, unbekannte Parameter und unbekannte.
00:00:41Rückgabewerte zu erkennen. Nun bist du vielleicht nicht mit all diesen Regeln einverstanden, aber der Sinn ist nicht, sie alle zu nutzen, sondern.
00:00:47diejenigen herauszuspücken, die den Standards deines Teams entsprechen. Linting ist dafür hervorragend geeignet, weil es.
00:00:53bei Dingen, die du draußen halten willst, gnadenlos fehlschlägt. Das kann dir Token sparen und den Schrott.
00:00:59deterministisch blockieren. Regeln in Claude.md hingegen können zwar funktionieren, sind aber leicht zu umgehen und manchmal.
00:01:05befolgen die Agents die Regeln ohnehin nicht. Linting hingegen ist schneller, günstiger und.
00:01:11effektiver beim Erkennen offensichtlicher Muster. Aber du denkst dir wahrscheinlich: Na und? Wir haben schon seit Ewigkeiten Linter,.
00:01:16wen kümmert das schon? Nun, diese zeigen nicht nur die Fehler an, sondern erklären auch hervorragend, warum der.
00:01:23Fehler aufgetreten ist und wie man ihn behebt. Das sind ziemlich wertvolle Daten für deine Agents,.
00:01:29was so viel besser ist als der typische, fast unlesbare Müll, den man von Standard-TypeScript-Fehlern bekommt. Stürzen wir uns also.
00:01:34in eine Demo, um zu sehen, wie das alles funktioniert. Und wenn du über Open-Source-Tools auf dem Laufenden bleiben willst,.
00:01:40dann tu mir einen riesigen Gefallen und abonniere Better Stack. Also, ich habe hier eine Datei, die absichtlich eine Reihe von.
00:01:45Fehlern enthält, die von den Linter-Regeln im Anti-Slop-Paket stammen. Ganz oben siehst du, dass ich.
00:01:50zweimal typisiert habe: erst als unknown und dann als zweites als user. Normalerweise macht man das, wenn man.
00:01:55eine Antwort von einer JSON-API erhält, aber wir können sehen, dass wir sehr aussagekräftige Fehler darüber haben,.
00:01:59was das Problem ist und wie man es behebt. Bei diesem speziellen Fehler heißt es: Diese Zusicherungskette.
00:02:05verwirft die Typenvielfalt, was stimmt, und die Lösung wäre, den ursprünglichen präzisen Typ beizubehalten oder.
00:02:11unverifizierte Eingaben an ihrer Grenze zu übergeben, bevor sie eingeschränkt werden. Man würde also etwas wie Zod verwenden, um zuerst.
00:02:18die Typsicherheit zu garantieren, bevor man fortfährt. Du siehst hier ein weiteres ähnliches Beispiel,.
00:02:22nämlich wenn wir Daten von einer JSON-API zurückgeben und sie einfach weiterreichen. JSON gibt jedoch tatsächlich einen.
00:02:29any-Typ zurück, daher geben wir hier in der Funktion unknown zurück, aber das ist wiederum ein Code-Smell.
00:02:36Es heißt also: Diese Funktion gibt unknown an ihren Aufrufer weiter. Gib den Wert an der Grenze weiter und gib einen benannten Domänentyp.
00:02:41zurück. Lass uns also Claude ausführen und sehen, wie es mit all dem umgeht. Sagen wir einfach: Behebe alle Probleme im API-Client.
00:02:48Du siehst also, dass nach einigen Minuten Laufzeit alle Probleme behoben wurden. Die Schleife hier.
00:02:54wäre, dass wir in package.json lint aufrufen, welches ox lint source aufruft, und dann haben wir unsere Linter-Konfiguration.
00:03:00selbst, die in diesem Fall fast alle Regeln enthält. Der Agent würde also den Code erstellen,.
00:03:06möglicherweise Fehler machen, das Linting ausführen, die Fehler bemerken und sie dann korrigieren. Auf diese Weise erhält man.
00:03:12einen viel besseren Code für die Produktion. Keiner der Fehler, die wir mit diesen Linter-Regeln abfangen, sind echte Bugs; der Code.
00:03:18wäre immer noch kompilierbar, aber es geht darum, minderwertigen Code mit geringer Evidenz frühzeitig zu erkennen, bevor echte Bugs.
00:03:24eingeführt werden. Verkettetes Casten ist ein gutes Beispiel: Angenommen, ich rufe ein Konto von einer API ab, ich kann die Antwort.
00:03:30in das Format umwandeln, das ich erwarte. Das an sich ist kein Bug, es wird kompiliert und alles nachfolgende.
00:03:36denkt nun, das Erstellungsdatum sei ein Datum. Aber JSON hat natürlich keine Datumsangaben, also ist das, was tatsächlich zurückkommt,.
00:03:41ein String. Sobald also etwas das wie ein Datum behandelt, haben wir plötzlich einen Bug eingeführt.
00:03:47Normalerweise hätte TypeScript die Chance, mich davor zu warnen, aber das tut es nicht, weil ich die Evidenz.
00:03:51durch das Casten weggeworfen habe. Dieses Paket wurde erst letzte Woche erstellt und basiert auf dem Linter-Paket oxc,.
00:03:59das, falls du es nicht kennst, eine Sammlung von in Rust geschriebenen Hochleistungs-JavaScript-Tools ist. Der.
00:04:04Linter ist laut Benchmarks 50- bis 100-mal schneller als ESLint, was unglaublich klingt. Ich habe.
00:04:10ihn in den letzten Monaten für alle meine Projekte verwendet und kann ihn ehrlich gesagt nur wärmstens empfehlen. Und.
00:04:15natürlich war die Resonanz im Internet super positiv, wobei einige Nutzer etwas mehr Schrottfehler erhielten als.
00:04:20erwartet. Wenn du also deine Codebasis aufräumen möchtest, kannst du dir den GitHub-Link unten in der.
00:04:24Beschreibung ansehen. Vergiss nicht zu abonnieren, vielen Dank fürs Zuschauen und natürlich bis zum nächsten Mal.

핵심 요약

Das Anti-Slop-Regelset für den in Rust geschriebenen Oxc-Linter blockiert minderwertigen TypeScript-Code deterministisch und liefert präzise Korrekturdaten für automatisierende Agents.

하이라이트

  • Das Anti-Slop-Paket stellt Linter-Regeln für Oxlint bereit, die TypeScript- und JavaScript-Muster mit geringer Evidenz ablehnen.

  • Oxc ist laut Benchmarks 50- bis 100-mal schneller als ESLint und in Rust geschrieben.

  • Das Linter-Paket erklärt nicht nur Fehler, sondern liefert direkt verständliche Korrekturhinweise für KI-Agents.

  • Das Ausführen von ox lint source über package.json automatisiert die Codebereinigung in Kombination mit KI-Coding-Agents.

타임라인

Einführung in Anti-Slop und Oxlint

  • Claude.md-Anweisungen verhindern nicht zuverlässig fehlerhaften Code in der Codebasis.
  • Das Anti-Slop-Paket enthält Linter-Regeln für Oxlint, um minderwertige Code-Muster direkt abzufangen.
  • Linting blockiert unerwünschte Muster deterministisch und spart Token bei der Nutzung von KI-Agents.

Anpassungen an Konfigurationsdateien reichen oft nicht aus, um Agents von fehlerhaften Mustern abzuhalten. Das Anti-Slop-Paket bietet eine Liste spezifischer Regeln für Oxlint, die Probleme wie verkettete Typzusicherungen oder unbekannte Rückgabewerte erkennen. Im Gegensatz zu textbasierten Agentenregeln arbeitet der Linter schneller, günstiger und zuverlässiger.

Fehleranalyse und Agenten-Workflow

  • Linter-Fehlermeldungen erklären präzise die Ursache und die konkrete Behebung des Problems.
  • KI-Agents nutzen die detaillierten Fehlerbeschreibungen zur automatischen Codekorrektur.
  • Der automatisierte Ablauf ruft package.json auf, welches ox lint source ausführt.

Die Linter-Meldungen liefern wertvolle Daten, die weit über unlesbare Standard-TypeScript-Fehler hinausgehen. Bei verkettetem Casten zeigt der Linter auf, dass die Typenvielfalt verworfen wird, und schlägt die Nutzung von Bibliotheken wie Zod vor. Der Agent korrigiert den Code autonom, nachdem er die Linting-Fehler erkannt hat.

Technische Grundlagen und Leistung

  • Die abgefangenen Linter-Fehler verhindern potenzielle Bugs durch verlorene Typ-Evidenz.
  • Das Paket basiert auf dem in Rust geschriebenen Oxc-Linter.
  • Oxc erreicht eine 50- bis 100-mal höhere Geschwindigkeit im Vergleich zu ESLint.

Das unvorsichtige Umwandeln von API-Antworten in vermeintliche Datentypen erzeugt im Nachhinein echte Bugs, da TypeScript durch das verlorene Casting keine Warnungen mehr ausgibt. Das in Rust entwickelte Oxc-Toolset bietet extrem hohe Verarbeitungsgeschwindigkeiten und sorgt für eine saubere Codebasis vor dem Erreichen der Produktion.

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기