Das Gate wurde 198 Mal ausgelöst. Ich nannte es „funktionierend“.
Ich habe ein Gate gebaut, um schlechten Code zu blockieren. Es blockierte 198 Code-Fragmente. Ich dachte, das bedeute, dass das Gate gut funktioniert. Ich sah eine hohe Anzahl an Blockierungen und fühlte mich erfolgreich.
Dann sah ich mir die tatsächlichen Fälle an. Mir wurde klar, dass viele dieser Blockierungen Fehler waren. Das Gate lehnte guten Code ab. Es wies Arbeit ab, die alle Anforderungen erfüllte, nur weil die Struktur ungewöhnlich aussah.
Ich habe einen häufigen Fehler gemacht. Ich habe Aktivität mit Korrektheit verwechselt.
Ein Gate kann gleichzeitig sehr aktiv und sehr falsch liegen. Eine hohe Anzahl an Blockierungen beweist keinen Wert. Sie beweist nur, dass das Gate ausgelöst wird.
So habe ich gelernt zu erkennen, ob ein Gate tatsächlich seinen Job macht:
- Schau dir die Gründe für die Blockierungen an. Erfassen sie echte Defekte? Oder scheitern sie nur an denselben oberflächlichen Mustern?
- Beobachte die Retries. Löst ein Retry das eigentliche Problem? Oder verändert der Code nur seine Form, um dem Gate zu gefallen? Wenn der Code nur seine Form ändert, ohne sich zu verbessern, ist das Gate das Problem.
- Überprüfe die endgültige Konvergenz. Wird die Arbeit letztendlich aufgrund ihrer eigenen Qualität durchgelassen? Wenn du das Gate abschwächen musst, damit die Arbeit durchkommt, war das Gate falsch.
Ein Gate, das gut funktioniert, macht das System besser. Ein schlechtes Gate sorgt nur dafür, dass sich das System dem Gate anpasst. Am Ende erhältst du Code, der so geformt ist, dass er dem Validator gefällt, anstatt Code, der tatsächlich gut ist.
Hör auf, auf die Gesamtzahl zu schauen. Die Gesamtzahl zeigt dir Aktivität. Die Stichprobe zeigt dir die Wahrheit.
Überprüfe eine Stichprobe dessen, was deine Gates, Linter oder Filter blockieren. Wenn du deine Guards nur mit schlechten Eingaben testest, stellst du nur schmeichelhafte Fragen. Du musst auch testen, ob sie guten, ungewöhnlichen Input durchlassen.
Überprüfst du deine Blockierungsraten? Wie entscheidest du, ob eine Ablehnung gerechtfertigt war?
Source: https://dev.to/josephyeo/the-gate-fired-198-times-i-called-it-working-45fk
Optional learning community: https://t.me/GyaanSetuAi