Testováno jako nepřítel

Díl 7 ze 7 — ./blog.sh v1.4

1.4 prošla před tagem čtyřmi koly nepřátelského auditu: flotily nezávislých revizorů nad skutečnými archivy – skutečné exporty, skutečný web se 4 400 příspěvky, skutečné cíle nasazení – každý s pokynem engine rozbít, ne potvrdit. Nálezů bylo přes sto. Každý byl před opravou zreprodukován a každá oprava je přišpendlená testem, který na kódu, který opravila, prokazatelně padá.

Vzorec, který se pořád opakoval

Nepříjemné poučení: opravy z každého kola byly tam, kde další kolo našlo své chyby. Oprava pravidla pro čtení komentářů smazala sto řádků něčí konfigurace; oprava toho skryla odpovědi widgetu; rada k obnově napsaná k záchraně příspěvků mohla jeden zničit. Čtyřikrát za sebou byl nejnovější kód nejnebezpečnějším kódem ve stromu – což je přesně důvod, proč poslední kolo auditovalo výhradně opravy samotné. Zachytilo tři moje regrese dřív, než mohl kterýkoli uživatel.

Osmnáct souborů

Důkaz, kterému věřím nejvíc, je ten nejtišší. Celé vydání, znovu sestavené nad skutečným archivem se 4 400 příspěvky a porovnané bajt po bajtu s 1.3.2, mění osmnáct souborů: jeden stylesheet, dva skripty a jeden řádek v každém náhledu draftu. Publikované příspěvky se nepohnou ani o bajt. Vydání může tolik předělat mechaniku a pořád dlužit svému archivu tenhle druh klidu – to je smlouva, a teď existuje diff, který ukazuje, že se dodržuje.

Co z toho máš

Ne slib nulových chyb – to nikdo poctivý neprodává. Slib je užší a lepší: způsoby selhání, které zůstávají, jsou ty hlasité. check odmítá, co odmítá sestavení. Pád nemůže stát příspěvek. Nasazení namířené někam nově nahraje všechno, místo aby věřilo starým záznamům. Až přijde další chyba, měla by se muset ohlásit.

Komentáře