Šesť generácií adresy počítadla, všetky stále obsluhované
V tomto článku
Adresa, ktorú pre počítadlo dokumentujeme, je /c/<number>-<design>.png. Dňa 30. augusta bola vyžiadaná 156-krát.
Adresa z roku 2006 — /index.php?action=pic&s4uid=… — bola vyžiadaná 80 499-krát zo 761 rôznych počítadiel.
Šesť generácií, všetky stále bežia
Zoradenie týchto 80 499 požiadaviek podľa ich parametrov dá šesť odlišných tvarov a každý z nich je niečia živá stránka.
Najväčšia skupina, 55 503 požiadaviek, posiela takmer nič: akciu a číslo počítadla. Potom 10 026 s úplným opisom štýlu — farby, písma, režim pozadia, jedenásť pozícií prvkov, až 57 parametrov v jedinej adrese. Ďalších 5 898 pridáva odkazujúcu stránku a aktuálnu stránku, čo je generácia, ktorá vôbec umožnila vstupné stránky a cesty. Súradnice myši posiela 4 544 požiadaviek, pozostatok funkcie z roku 2015. Požiadavky v počte 2 533 nesú js príznak, ktorého význam som si musel vyhľadať, a 1 995 vzor.
Žiadna z nich nie je pokazená. Server odpovedá na všetkých šesť, pretože parametre sa nikdy neodstránili — iba sa prestali generovať.
Prečo je nová adresa tichá
Pretože nič neprepíše značku <img> vloženú niekým na stránku v roku 2011.
To je celé vysvetlenie a oplatí sa ho povedať jasne, pretože 156 možno ľahko čítať ako zlyhanie novej adresy. Nie je to tak. Nová adresa je kratšia, umožňuje vyrovnávaciu pamäť, je čitateľná a používa ju každé počítadlo vytvorené odvtedy, čo existuje. Len ich oproti nainštalovanému základu nie je veľa a tento základ sa sám neaktualizuje.
Pre kód to znamená trvalý záväzok, nie chybu. Šesť tvarov musí ďalej fungovať vrátane toho s 57 parametrami a toho, ktorý posiela polohu myši. Každý je cestou, ktorá musí zostať správna, a päť z nich nemožno preveriť pohľadom na výstup súčasného sprievodcu — súčasný sprievodca ich negeneruje. Pomenúva ich protokol, preto sa číta pred dotknutím sa čohokoľvek na tejto ceste.
Čo sme zmenili a čo nie
Nič. Poznanie rozdelenia nevytvára potrebu konať: nemôžeme žiadať 761 vlastníkov webov o úpravu HTML a rozbitie starej adresy na vynútenie zmeny by vyradilo funkčné počítadlá kvôli uprataniu smerovacej tabuľky.
Mení to však to, čomu sa venuje pozornosť. Refaktoring dotýkajúci sa mechanizmu počítania nie je refaktoringom jednej adresy, ale šiestich a tá najmenej podstatná v dokumentácii je najpodstatnejšia v protokole.
Čo sa dá zovšeobecniť
Dokumentované a používané rozhranie sú dve rôzne veci a iba jedna z nich je v protokole. Kód zaznamenáva, na čo bol navrhnutý. Prístupový protokol zaznamenáva, čo ľudia skutočne nainštalovali, niekedy pred pätnástimi rokmi, a ako jediný zdroj dokáže pomenovať, ktorá zo šiestich ciest kódom nesie návštevnosť.
Zistiť to stojí jeden príkaz. Kým sa nespustí, najnovšia adresa v dokumentácii vyzerá ako hlavná.