Ako dlho prežije nesprávna veta
V tomto článku
Dňa 14. augusta sa na stránke o službe objavila veta, že zámerne nemeriame mieru okamžitých odchodov ani čas na stránke, pretože oboje by potrebovalo reláciu sledovanú cez zobrazenia stránok a to by vyžadovalo banner so súhlasom na webe s vloženým počítadlom.
Dňa 27. augusta sme nasadili čas na stránke. Veta zostala.
Trinásť dní pravdivá, dvadsaťosem hodín nepravdivá
Dátumy sú presné, pretože ich repozitár pozná. Veta prichádza 14. augusta o 22:41. Čas na stránke v šiestich intervaloch prichádza 27. augusta o 17:53 — a od tej minúty je druhá polovica vety nepravdivá. Opraví sa 28. augusta o 21:57.
Bola teda trinásť dní správna a dvadsaťosem hodín nesprávna, čo znie ako dobrý pomer až po ďalšie zistenie: v tých dvadsiatich ôsmich hodinách ich nič nemalo ukončiť. Žiadny test nezlyhal. Žiadna kontrola sa nespustila. Stránka sa vykresľovala, funkcia fungovala a obe si potichu odporovali v jedenástich jazykoch.
Prečo to nemohla zachytiť žiadna kontrola
Každá automatizovaná kontrola tohto projektu porovnáva dve veci v systéme: počet riadkov s jedenástimi, šírku označenia s dostupným miestom, zoznam tabuliek so schémou. Tvrdenie na stránke sa nedá s ničím porovnať. Je to súvislý text o svete a svetom bola v tomto prípade tabuľka vytvorená v úplne inej časti kódu.
Dá sa predstaviť kontrola, ktorá v texte o službe vyhľadá názvy funkcií a preverí ich. Bola by dlhá, krehká a aj tak by prehliadla zaujímavé prípady, pretože veta nepomenúvala tabuľku. Pomenúvala dôvod: na toto by bol potrebný banner so súhlasom. Tento dôvod potichu prestal platiť.
Čo to ukončilo
Otázka. Niekto sa opýtal, či zobrazujeme mieru okamžitých odchodov, a poctivá odpoveď vyžadovala prečítať vetu uvedenú vedľa, ktorá sa vtedy zrútila.
Je to ten istý mechanizmus, ktorý začiatkom mesiaca odstránil z tejto stránky štyri ďalšie tvrdenia, a nie je to mechanizmus, ale šťastie. Šance zvyšuje iba dosť úzke tvrdenie na zachovanie overiteľnosti: nie «nemeriame X, pretože Y», ale «X nie je na tejto stránke» — veta opisujúca stránku, na ktorej je, namiesto dôvodov za ňou.
Čo sa dá zovšeobecniť
Kód chátra nahlas. Text o kóde chátra potichu a zvyčajne chátra v okamihu zlepšenia kódu.
Na opravu jednej vety sa muselo upraviť trinásť miest: jedenásť jazykových verzií jedného textu rozhrania a dva odseky ručne písaného HTML. Toto číslo sa oplatí poznať pred ďalším vysvetlením, pretože je cenou každého tvrdenia presahujúceho stránku, na ktorej je vytlačené.