Șase generații de adrese de contor, toate încă deservite
Adresa pe care o documentăm pentru un contor este /c/<number>-<design>.png. Pe 30 august a fost cerută de 156 de ori.
Adresa din 2006 — /index.php?action=pic&s4uid=… — a fost cerută de 80.499 de ori, de 761 de contoare diferite.
Șase generații, toate încă în funcțiune
Sortarea celor 80.499 de cereri după parametrii pe care îi poartă dă șase forme distincte, iar fiecare dintre ele este pagina activă a cuiva.
Cea mai mare, 55.503 cereri, nu trimite aproape nimic: acțiunea și numărul contorului. Apoi 10.026 care poartă descrierea completă a stilului — culori, fonturi, modul de fundal, unsprezece locuri pentru elemente, până la 57 de parametri într-o singură adresă. 5.898 adaugă sursa de trimitere și pagina curentă, adică generația care a făcut posibile paginile de intrare și traseele. 4.544 trimit coordonatele mouse-ului, o rămășiță a unei funcții din 2015. 2.533 poartă un flag js al cărui sens a trebuit să-l caut, iar 1.995 un model.
Niciuna nu este stricată. Serverul le deservește pe toate șase, pentru că parametrii nu au fost niciodată eliminați — doar că nu au mai fost generați.
De ce noua adresă este liniștită
Pentru că nimic nu rescrie un tag <img> pe care cineva l-a lipit într-o pagină în 2011.
Aceasta este toată explicația și merită spusă direct, pentru că e ușor să citești cele 156 ca pe un eșec al noii adrese. Nu este. Noua adresă este mai scurtă, poate fi pusă în cache și poate fi citită, iar fiecare contor creat de când există o folosește. Doar că nu sunt multe asemenea contoare în comparație cu baza instalată, iar baza instalată nu se actualizează singură.
Pentru cod, asta înseamnă mai degrabă o obligație permanentă decât un defect. Șase forme trebuie să funcționeze în continuare, inclusiv cea cu 57 de parametri și cea care trimite unde a fost un mouse. Fiecare este o cale care trebuie să rămână corectă, iar cinci dintre ele nu pot fi puse la încercare uitându-te la ce generează asistentul actual — asistentul actual nu le generează. Jurnalul este cel care le numește, de aceea este citit înainte de a atinge ceva pe acea cale.
Ce am schimbat și ce nu
Nimic. Cunoașterea împărțirii nu creează o acțiune: nu putem cere proprietarilor a 761 de site-uri să-și modifice HTML-ul, iar stricarea vechii adrese ca să forțăm lucrurile ar opri contoare funcționale doar pentru a face ordine într-un tabel de rutare.
Ce schimbă totuși este încotro se îndreaptă atenția. O refactorizare care atinge calea de numărare nu este refactorizarea unei adrese; este refactorizarea a șase, iar cea care contează cel mai puțin în documentație contează cel mai mult în jurnal.
Ce se poate generaliza
Interfața documentată și interfața folosită sunt două lucruri diferite și doar una dintre ele se află în jurnal. Codul consemnează ce a fost proiectat să facă. Jurnalul de acces consemnează ce au instalat oamenii de fapt, uneori acum cincisprezece ani, și este singura sursă care poate spune care dintre cele șase căi de cod poartă traficul.
Ca să afli, este nevoie de o singură comandă. Până când comanda este rulată, cea mai nouă adresă din documentație pare a fi cea principală.