Meddig él egy hibás mondat
Augusztus 14-én egy mondat került a Rólunk oldalra, amely szerint szándékosan nem mérjük a visszafordulási arányt és az oldalon töltött időt, mert mindkettőhöz egy munkamenetet kellene követni több oldalmegtekintésen át, ehhez pedig hozzájárulási sáv kellene a beágyazó weboldalon.
Augusztus 27-én élesítettük az oldalon töltött idő mérését. A mondat maradt.
Tizenhárom napig igaz, huszonnyolc óráig hamis
Az időpontok pontosak, mert a verziókezelő rögzítette őket. A mondat augusztus 14-én 22:41-kor kerül be. Az oldalon töltött idő hat sávra bontva augusztus 27-én 17:53-kor érkezik — és attól a perctől a mondat második fele hamis. A javítás augusztus 28-án 21:57-kor történik meg.
Tizenhárom napig tehát igaz volt, huszonnyolc óráig hamis, ami jó aránynak hangzik – egészen a következő megfigyelésig: a huszonnyolc órának semmi sem vetett volna véget. Egyetlen teszt sem bukott el. Egyetlen ellenőrzés sem jelzett. Az oldal megjelent, a funkció működött, és a kettő csendben ellentmondott egymásnak tizenegy nyelven.
Miért nem foghatta meg semmilyen ellenőrzés
A projekt minden automatikus ellenőrzése két olyan dolgot vet össze, amelyek egyaránt a rendszerben vannak: a sorok számát a tizeneggyel, egy felirat szélességét a rendelkezésére álló hellyel, a táblák listáját a sémával. Egy oldalon olvasható állítás viszont semmivel sem vethető össze. Szöveg a világról, és a világ ebben az esetben egy tábla volt, amely a kódbázis egészen más részében jött létre.
Elképzelhető olyan ellenőrzés, amely funkcióneveket keres a bemutatkozó szövegben, és utánanéz nekik. Hosszú és törékeny lenne, és az érdekes eseteket így is elszalasztaná, mert a mondat nem egy táblát nevezett meg. Egy okot nevezett meg: ehhez hozzájárulási sáv kellene. Ez az ok időközben csendben érvényét vesztette.
Mi vetett neki véget
Egy kérdés. Valaki megkérdezte, mutatunk-e visszafordulási arányt, és az őszinte válaszhoz a mondatot is el kellett olvasni mellette – ekkor dőlt össze.
Ugyanez a mechanizmus vett le ebben a hónapban korábban négy másik állítást erről az oldalról, és ez nem is mechanizmus, hanem szerencse. Az esélyeken csak az javít, ha az állítást elég szűkre fogalmazzuk ahhoz, hogy ellenőrizhető maradjon: nem „X-et nem mérjük, mert Y”, hanem „X nincs ezen az oldalon” — vagyis olyan mondat, amely azt az oldalt írja le, amelyen áll, és nem a mögötte álló okokat.
Ami általánosítható
A kód hangosan romlik el. A kódról szóló szöveg csendben, és többnyire éppen akkor, amikor a kód jobb lesz.
Egyetlen mondat javításához tizenhárom helyen kellett szerkeszteni: egy felületi szöveg tizenegy nyelvi változatában és két kézzel írt HTML-bekezdésben. Ezt a számot érdemes ismerni, mielőtt a következő magyarázat megszületik, mert ennyibe kerül minden olyan állítás, amely túlmutat azon az oldalon, amelyen olvasható.