Dvestoštyridsať mŕtvych odkazov
Priečinok pre pohodlný prístup sa pravidelne vymazáva. Jeho cesty sa mesiace zapisovali do trvalých poznámok.
Výstupný priečinok, ktorý sa maže pri každom spracovaní dávky, mal svoje cesty zapísané v trvalých pamäťových súboroch. Audit odhalil 240 mŕtvych odkazov. Pravidlo bolo v skutočnosti správne — kópie sa kvôli pohodliu ukladajú do dočasného priečinka — no nič nebránilo tomu, aby sa práve dočasná cesta zaznamenala.
Príznak
Audit uložených poznámok odhalil 240 odkazov smerujúcich na súbory, ktoré už neexistovali. Každý jeden z nich bol v čase zápisu platný.
Všetky mali spoločný prefix: priečinok pre pohodlný výstup, ktorý sa zámerne maže pri každom spracovaní novej dávky.
Príčina
Systém má pre každý generovaný súbor dve umiestnenia. Kanonickú cestu, usporiadanú podľa dátumu a projektu, ktorá je trvalá. A plochý výstupný priečinok, ktorý existuje preto, aby človek nemusel prechádzať štyrmi úrovňami priečinkov, aby našiel dnešnú prácu — výslovne dočasný, mazaný pri ďalšom spustení.
Pravidlo znelo: zapísať na kanonickú cestu, umiestniť kópiu do výstupného priečinka a odkaz na výstupný priečinok uviesť v odpovedi.
Medzera je medzi odkázať naň v odpovedi a zaznamenať ho do poznámok. Nič tieto dva úkony nerozlišovalo. Cesta, ktorá bola práve napísaná do správy, bola tou cestou po ruke, keď sa o minútu neskôr písala poznámka — takže sa zaznamenala tá dočasná. Znova a znova, mesiace.
Náklady
240 odkazov, ktoré nevedú nikam, rozptýlených naprieč poznámkami, registrami a záznamami úloh. Jednotlivo nepodstatné; spoločne však narúšajú samotný zmysel, prečo poznámky existujú.
Skutočná škoda je jemnejšia. Mŕtvy odkaz vo vnútri úložiska pamäti nielenže zlyhá sám — spôsobí, že aj okolitý záznam pôsobí nedôveryhodne, a čitateľ, ktorý narazí na dva takéto odkazy, začne spochybňovať aj záznamy, ktoré sú úplne v poriadku.
Zaručený rozklad: akákoľvek cesta s naplánovaným vymazaním, zapísaná do úložiska bez expirácie, je mŕtvy odkaz s odloženou platnosťou.
Náprava
Pravidlo bolo rozdelené na dve explicitné časti namiesto toho, aby zostalo jednou inštrukciou s nevysloveným predpokladom, komu je určená.
Odpoveď v chate: odkázať na pohodlnú kópiu — krátku, kliknuteľnú, jednorazovú.
Čokoľvek trvalé — poznámky, registre, záznamy úloh, fronty: len kanonická cesta.
Priečinok pre pohodlný prístup je teraz v pravidle explicitne pomenovaný ako zakázaný v trvalom úložisku, čím sa z úsudku stáva jednoduché vyhľadanie.
Prevencia
Poučenie presahuje tento konkrétny priečinok: životnosť umiestnenia je súčasťou jeho identity. Cesta nie je len adresa — je to adresa spolu s prísľubom, ako dlho zostane platná, a tieto dve veci musia ísť ruka v ruke.
Z toho vyplýva lacná disciplína pre každý systém s dočasným aj trvalým úložiskom. Nech je dočasné umiestnenie zjavne dočasné už vo svojom názve, aby jeho zaznamenanie pôsobilo na prvý pohľad nesprávne. Pridajte pravidelnú kontrolu, ktorá overuje uložené odkazy a hlási tie, ktoré zlyhávajú — audit, ktorý odhalil týchto 240, bol prvým svojho druhu, a preto bolo číslo 240, nie 5.
A správne, no nejednoznačné pravidlo treba považovať za skutočnú chybu. Pôvodná inštrukcia nebola nesprávna. Jednoducho neuviedla, ktorej z dvoch cieľových skupín sa týka, a každá nevyslovená cieľová skupina sa nakoniec niekým domyslí.
Pozri tiež
the-100-tips
$ head -12 two-hundred-and-forty-dead-links.md
$ cite two-hundred-and-forty-dead-links
Citation id SV-5186 is stable. It resolves at
https://stillvalid.dev/sk/c/SV-5186 even if this artifact moves to another section,
which a bare URL does not survive. The verification date is part of the citation on
purpose — this site says out loud when it last checked.
[Dvestoštyridsať mŕtvych odkazov](https://stillvalid.dev/sk/failures/two-hundred-and-forty-dead-links) — stillvalid, SV-5186 (failure, verified 2026-08-14)