Repository navigation
Qualitätsprüfung: „hässlich" messbar machen - #68
Merged
Merged
Conversation
Geschmack laesst sich nicht pruefen, einiges von dem was ein Sujet
falsch aussehen laesst aber schon. check() liefert { ok, errors,
warnings, findings }; jeder Befund nennt Regel, Schwere und einen
lesbaren Satz.
Fehler sind Regelverstoesse, keine Geschmacksfragen: Schutzzone
verletzt (rotationsbewusst, alle vier Kanten), zwei Texte ueberdecken
sich, Textabstand unter einem Viertel Zeilenhoehe, Textblock breiter
als die nutzbare Flaeche, mehr als ein Stoerer, und Text auf einem Foto
ohne gruene Flaeche darunter.
Warnungen sind Ermessensfragen: enge Abstaende, mehr als drei Zeilen,
verwaiste Schlusszeile, sehr kleiner Text im Export, konkurrierende
Akzente, Komposition stark aus der Mitte.
Drei bewusste Entscheidungen:
- Alles rechnet aus dem Objektmodell, ohne zweites Rendering. Ein
Pruefer, der selbst rendert, waere eine zweite Wahrheitsquelle —
genau das, was diese Schnittstelle vermeiden soll. Das war auch die
Vorgabe an die Reviewer.
- Wo die drei Reviewer auseinanderlagen, gilt der grosszuegigste
Schwellwert. Sonst warnt es bei allem und niemand liest es mehr.
- export() prueft selbst und legt das Ergebnis als quality bei, liefert
das Bild aber trotzdem. Ob eine Ueberlappung von 12 % ein Fehler oder
Absicht ist, weiss nur der Aufrufer; zu blockieren waere anmassend, zu
schweigen sinnlos. Mit export({ check: false }) abschaltbar.
Der wichtigste Test ist der unauffaelligste: Ein sauber gebautes Sujet
erzeugt null Befunde. Ein Pruefer, der bei allem anschlaegt, ist so
nutzlos wie einer, der nie anschlaegt.
Schwellwerte aus den drei externen Reviews. VERSION auf 14.
132 Jest, 147 e2e gruen.
Claude-Session: https://claude.ai/code/session_01Qtib9MPRZATQU3j9w7ymDk
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Geschmack lässt sich nicht prüfen, einiges von dem was ein Sujet falsch aussehen lässt aber schon.
check()liefert{ ok, errors, warnings, findings }.Fehler sind Regelverstöße: Schutzzone verletzt (rotationsbewusst, alle vier Kanten), zwei Texte überdecken sich, Textabstand unter einem Viertel Zeilenhöhe, Textblock breiter als die nutzbare Fläche, mehr als ein Störer, Text auf einem Foto ohne grüne Fläche darunter.
Warnungen sind Ermessensfragen: enge Abstände, mehr als drei Zeilen, verwaiste Schlusszeile, sehr kleiner Text im Export, konkurrierende Akzente, Komposition stark aus der Mitte.
Drei bewusste Entscheidungen
Alles rechnet aus dem Objektmodell, ohne zweites Rendering. Ein Prüfer, der selbst rendert, wäre eine zweite Wahrheitsquelle — genau das, was diese Schnittstelle vermeiden soll. Das war auch die Vorgabe an die Reviewer, und sie haben sie eingehalten.
Wo die drei Reviewer auseinanderlagen, gilt der großzügigste Schwellwert. Sonst warnt es bei allem, und dann liest es niemand mehr.
export()prüft selbst und legt das Ergebnis bei — liefert das Bild aber trotzdem. Ob eine Überlappung von 12 % ein Fehler oder Absicht ist, weiß nur der Aufrufer. Zu blockieren wäre anmaßend, zu schweigen sinnlos: Niemand ruftcheck()aus Gewohnheit auf. Mitexport({ check: false })abschaltbar.Der wichtigste Test ist der unauffälligste
Ein sauber gebautes Sujet erzeugt null Befunde. Ein Prüfer, der bei allem anschlägt, ist so nutzlos wie einer, der nie anschlägt.
Neun Tests, jeder baut genau einen Defekt und prüft, dass der Prüfer ihn benennt — plus der Gegenprobe, dass dieselbe Gestaltung mit grüner Fläche sauber durchgeht.
132 Jest grün, 147 e2e grün. VERSION auf 14.
https://claude.ai/code/session_01Qtib9MPRZATQU3j9w7ymDk