Nie każdy ma nazwisko

Utworzono: 14 marca 2018 Zaktualizowano: 1 października 2026

Wystarczy zapisać numer telefonu w polu liczbowym, a 007, 07 i 7 staną się tą samą siódemką, bo liczba zer z przodu nie pamięta, a w numerze telefonu to zero bywa jego częścią.

Pracujemy akurat przy normalizacji numerów telefonów, czyli sprowadzaniu ich do jednej, porządnej postaci. Niby prosta sprawa, wywalić spacje i myślniki, dołożyć kierunkowy i gotowe, ale przy tej okazji temat zszedł na to, w co programiści wierzą, a co nie do końca jest prawdą.

Kolega, kiedy rozmawialiśmy, jak to zrobić porządnie, przytoczył repozytorium awesome-falsehood, w którym ktoś zebrał dziesiątki list „Falsehoods Programmers Believe About…”, czyli fałszywych przekonań programistów o nazwiskach, czasie, adresach, e-mailach i właśnie o telefonach. Cały gatunek zaczął się od wpisu Patricka McKenziego o imionach i nazwiskach z 2010 roku, a potem przybywało kolejnych dziedzin.

Już pierwsza lista potrafi zaskoczyć: nie wszyscy mają nazwisko, nie każdy ma jedno pełne imię i nazwisko, którym się posługuje, nazwiska się zmieniają i nie zawsze da się je zapisać w ASCII, ba, nawet w jednym zestawie znaków.

Przy telefonach, w dokumencie z repozytorium libphonenumber od Google, Falsehoods Programmers Believe About Phone Numbers, wystarczyły mi dwie rzeczy. Kierunkowy +1 to nie jeden kraj, bo dzielą go Stany, Kanada i kilka wysp na Karaibach, a numer telefonu w ogóle nie jest liczbą. Kto zapisze go w polu liczbowym, zgubi zero z przodu, a we Włoszech to zero wybiera się nawet z zagranicy, więc numer bez niego to po prostu inny numer.

Z adresami jest jeszcze zabawniej. W Anglii jest dom z numerem Minusone, w jednym budynku w Palo Alto mieszkania 1 i 001 były na różnych piętrach, a w Bostonie Ten Post Office Square to podobno nie to samo co 10 Post Office Square.

A lista o czasie czyta się jak kłótnia autora z samym sobą. Doba nie zawsze ma 24 godziny, minuta na zegarze systemowym nie musi trwać tyle, co na innych zegarach, no dobrze, prawie tyle, ale na pewno nie dłużej niż godzinę? Chyba żartujesz.

Link wrzucam tutaj ku pamięci, przyda się następnym razem, kiedy jakieś pole w formularzu wyda mi się oczywiste :-)

#dane #normalizacja #ciekawostki