heydeer
Prüfungen auf GitHub

Eine Prüfung lesen

Erfahre, was jeder Teil einer HeyDeer-Prüfung bedeutet, auf GitHub und in HeyDeer.

Was HeyDeer veröffentlicht

HeyDeer veröffentlicht seine Befunde als Pull-Request-Prüfung auf GitHub, mit einem Inline-Kommentar an den Zeilen, die ein Befund betrifft.

Der Text der Prüfung beginnt mit dem Ergebnis und verlinkt frühere Bedenken, die noch Aufmerksamkeit brauchen. Am Ende steht ein eingeklappter Abschnitt Über diese Prüfung: die Zusammenfassung der Prüfung, die Risikostufe, Prüftiefe, Auslöser sowie die Links In HeyDeer ansehen und Konfiguration.

Der Text enthält außerdem Hinweise zur Prüfung, Fragen unter Klärung erforderlich und Befunde, die nicht inline stehen können. GitHub akzeptiert Inline-Kommentare nur an Zeilen im Diff, daher erscheint ein Befund zu anderem Code, etwa zu einem unveränderten Aufrufer, der durch die Änderung nicht mehr funktioniert, unter Weitere Befunde.

Der vollständige Bericht steht im Check HeyDeer Review und auf der Prüfungsseite in HeyDeer. Ist eine Prüfung zu lang für einen GitHub-Kommentar, enthält der vollständige Bericht den Rest.

HeyDeer genehmigt einen Pull Request nur, wenn Automatische Genehmigung aktiviert ist.

Wenn Prüfkommentare im PR veröffentlichen deaktiviert ist, enthält nur der Check die Prüfung. Siehe Ergebnisse veröffentlichen.

HeyDeer verfasst alles, was es veröffentlicht, in der Prüfsprache des Repositorys.

Aufbau eines Befunds

src/sync/retry.ts
18for (let attempt = 1; ; attempt++) {
19 const res = await fetch(url);
20 if (res.ok) return res;
21 await sleep(backoff(attempt));
heydeerbot
🟠 Hoch (Zuverlässigkeit): Wiederholungsschleife stoppt bei einem 404 nie
fetchWithRetry() wiederholt die Anfrage bei jeder fehlgeschlagenen Antwort, auch bei einem 404, der nie erfolgreich sein wird, sodass der Sync-Job in einer Schleife läuft, bis er das Zeitlimit erreicht.
Änderungsvorschlag
- if (res.ok) return res;
+ if (res.ok) return res;
+ if (res.status < 500 && res.status !== 429) throw new HttpError(res);
Mehr erfahren
Korrekturvorschlag: Wiederhole nur bei Serverfehlern und 429-Antworten, und wirf bei anderen Clientfehlern eine Ausnahme.
Mit HeyDeer beheben
TeilInhalt
ÜberschriftSchweregrad, Kategorie und Titel, zum Beispiel „🟠 Hoch (Zuverlässigkeit): Wiederholungsschleife stoppt bei einem 404 nie“.
ErklärungWas falsch ist und welche Folgen es hat.
ÄnderungsvorschlagEine genaue Änderung, die du committen kannst, wenn der Kommentar auf den Zeilen sitzt, die sie ersetzt.
Mehr erfahrenEingeklappt: warum es passiert, der Korrekturvorschlag, ein schreibgeschützter Diff einer Änderung, die hier nicht committet werden kann, und die Repository-Prüfung, die ihn gemeldet hat.
Betroffener CodeEin Link zu den Zeilen, wenn der Kommentar nicht an ihnen steht.

Der Schweregrad (Kritisch, Hoch, Mittel oder Niedrig) beschreibt die Auswirkung des Befunds. Er ist unabhängig von der Sicherheit, die angibt, wie sicher HeyDeer ist, dass der Befund zutrifft. Um weniger oder mehr Befunde zu veröffentlichen, ändere den Feedback-Umfang, der beides kombiniert.

Wenn HeyDeer die Änderungen in einem separaten PR vornehmen soll, den du prüfst und mergst, verwende Mit HeyDeer beheben.

Kategorien

Die Kategorie gibt an, was der Befund beeinträchtigt, unabhängig vom Schweregrad. Passen mehrere, wählt HeyDeer die erste in dieser Tabelle.

KategorieWas beeinträchtigt wird
IT-SicherheitJemand kann tun oder sehen, was nicht erlaubt ist.
KorrektheitDer Code liefert bei normaler Nutzung ein falsches Ergebnis.
ZuverlässigkeitDer Code versagt bei Fehlern, Nebenläufigkeit, Last, Wiederholungen oder Teilausfällen.
LeistungDer Code braucht zu viel Zeit oder zu viele Ressourcen.
WartbarkeitNichts schlägt fehl, aber der Code ist schwerer zu ändern, zu testen oder zu lesen.

Hinweise zur Prüfung

Wenn etwas eine Prüfung eingeschränkt hat, erklärt HeyDeer das unter Hinweise zur Prüfung im Text der Prüfung, in der Zusammenfassung des Checks und auf der Prüfungsseite.

Hinweis zur PrüfungWas zu tun ist
Einige Befunde wurden ausgelassenEine Prüfung behält nur die Befunde mit der höchsten Priorität anhand von Sicherheit und Schweregrad. Behebe die angezeigten Befunde oder lehne sie ab, und fordere dann eine weitere Prüfung an.
Zu viele passende Repository-PrüfungenHeyDeer wendet passende Repository-Prüfungen in der Reihenfolge der Dateinamen an und überspringt die übrigen. Grenze ihre Dateimuster ein, und fordere dann eine weitere Prüfung an.
Einige Repository-Prüfungen sind ungültigHeyDeer überspringt eine ungültige Repository-Prüfung und nennt sie. Korrigiere sie, und fordere dann eine weitere Prüfung an.
Einige Repository-Prüfungen konnten nicht abgeschlossen werdenFordere eine weitere Prüfung an.
Einige Befunde oder frühere Bedenken konnten nicht vollständig bewertet werdenFordere eine weitere Prüfung an, um ein vollständiges Ergebnis zu erhalten.

Eine Prüfung mit Hinweisen zur Prüfung ist unvollständig, daher genehmigt HeyDeer sie nicht, und ihr Check meldet keinen Erfolg.

Weitere Hilfe zu Hinweisen zur Prüfung findest du unter Fehlerbehebung.

Rundgang

Eine Prüfung auf GitHub hat neben Mit HeyDeer beheben eine Schaltfläche Rundgang. Sie öffnet den Rundgang in HeyDeer, in dem zusammengehörige Änderungen gruppiert und wichtige hervorgehoben sind. Jede Gruppe sagt, was zu prüfen ist, und zeigt den Code so, wie er im geprüften Commit steht.

Zusammengehörige Gruppen stehen gemeinsam auf einem Tab. Ein Tab, dessen Änderungen mehrere Teile des Systems betreffen, etwa den Browser, einen Server und eine Datenbank, beginnt mit einem Diagramm: wie diese Teile zusammenhängen oder welche Schritte nacheinander zwischen ihnen ablaufen. Wählen Sie das Diagramm aus, um es zu vergrößern.

Gruppen sind als Pflichtlektüre, Lesen empfohlen oder Überfliegen markiert. Änderungen abseits des Hauptpfads, etwa Tests, Dokumentation und wiederholte Bearbeitungen, stehen mit Begründung unter Sonstige. Generierte Dateien, die die Prüfung übersprungen hat, werden am Ende von Sonstige aufgeführt, und eine spätere Prüfung desselben PR markiert die Gruppen, die sich seit der letzten Prüfung geändert haben.

Der Rundgang erklärt die Änderung; er ist keine Liste von Befunden. Die Prüfungsseite in HeyDeer öffnet ihn ebenfalls über Rundgang. Schalte ihn mit Rundgang in den Prüfregeln aus.

Hake Gesehen an einer Datei an, um sie einzuklappen. Sobald jeder Teil der Datei angehakt ist, markiert HeyDeer die Datei auch auf GitHub als gesehen, und GitHub löscht diese Markierung, wenn sich die Datei ändert.

Die Prüfung in HeyDeer

Jede Prüfung hat eine Seite in HeyDeer. Öffne sie über den Prüfverlauf, über den Link Details des Checks oder über In HeyDeer ansehen im Text der Prüfung.

Die Prüfungsseite zeigt den Auslöser und den geprüften Umfang: Neue Änderungen oder Gesamter PR. Außerdem listet sie jeden Befund innerhalb des Feedback-Umfangs sowie Bedenken unter In der Diskussion abgelehnt.

Während eine Prüfung läuft, zeigt Prüffortschritt ihre Phasen und woran jeder Prüfer gerade arbeitet. Nach dem Ende bewahrt das eingeklappte Panel Prüfaktivität jede Phase, die Dauer der Prüfung und was jeder Prüfer getan hat.

Wenn ein anderer Feedback-Umfang andere Befunde behalten würde, kannst du ihn in der Vorschau ansehen, ohne etwas zu ändern: Wähle den Umfang neben Befunde oder wähle Vorschau unter einem Ergebnis ohne Befunde. Jemand mit Schreibzugriff kann eine Prüfung mit Prüfung abbrechen stoppen; bereits verbrauchte Credits werden nicht zurückgegeben.