Błędne przekonania programistów na temat nazw

Dwa tygodnie temu ukazało się tłumaczenie „Błędne wyobrażenia programistów na temat czasu”, który swoją strukturą i stylem opiera się na klasycznym tekście Patricka Mackenziego, opublikowanym dwa lata temu. Ponieważ notatka o czasie została wyjątkowo przychylnie przyjęta przez publiczność, oczywistym jest, że warto przetłumaczyć oryginalny artykuł o imionach i nazwiskach.

John Graham-Cumming dzisiaj narzekał na swoim blogu, że system komputerowy, z którym pracował, nie zaakceptował jego nazwiska ze względu na nieprawidłowe znaki. Oczywiście nie ma żadnych nieprawidłowych znaków, ponieważ każdy sposób, w jaki dana osoba reprezentuje siebie, jest z definicji odpowiednim identyfikatorem. John wyraził wielką frustrację związaną z tą sytuacją i ma do tego pełne prawo, ponieważ imię jest esencją naszej indywidualności, niemal z definicji.

Mieszkałem w Japonii przez kilka lat, programując zawodowo i zepsułem wiele systemów, po prostu dzwoniąc do siebie. (Większość ludzi nazywa mnie Patrick McKenzie, ale akceptuję dowolne z sześciu „pełnych” imion i nazwisk jako poprawne, chociaż wiele systemów komputerowych nie akceptuje żadnego z nich.) Podobnie pracowałem dla Dużych Korporacji, które prowadzą biznes na skalę globalną i teoretycznie projektowałem swoje systemy pod każdą możliwą nazwę. Więc, Nie widziałem ani jednego systemu komputerowego, który poprawnie obsługiwałby nazwy i wątpię, żeby taki system w ogóle gdziekolwiek istniał.

Tak więc, dla dobra wszystkich, przygotowałem listę założeń, które Twój system najprawdopodobniej przyjmie na temat imion ludzi. Wszystkie te założenia są błędne. Następnym razem, gdy będziesz projektować system, spróbuj przynajmniej zmniejszyć tę listę.

1. Każda osoba ma jedno kanoniczne imię i nazwisko.
2. Każda osoba ma jedno pełne imię i nazwisko, którym się posługuje.
3. W danym momencie każda osoba ma jedno kanoniczne imię i nazwisko.
4. W danym momencie każda osoba ma jedno pełne imię i nazwisko, którym się posługuje.
5. Każda osoba ma dokładnie N imion, niezależnie od wartości N.
6. Imiona mieszczą się w określonej liczbie znaków.
7. Imiona nie ulegają zmianie.
8. Imiona zmieniają się, ale tylko w określonych przypadkach.
9. Imiona są pisane w kodzie ASCII.
10. Imiona zapisywane są w jednym kodowaniu.
11. Wszystkie nazwy odpowiadają znakom Unicode.
12. W nazwach rozróżniana jest wielkość liter.
13. W nazwach nie jest rozróżniana wielkość liter.
14. Czasami w nazwach znajdują się przedrostki lub przyrostki, ale możesz je bezpiecznie zignorować.
15. Imiona nie zawierają liczb.
16. Imiona i nazwiska nie mogą być pisane CAŁYMI WIELKIMI literami.
17. Imiona i nazwiska nie mogą być pisane w całości małymi literami.
18. W imionach panuje porządek. Wybranie jednego ze schematów porządkowania rekordów automatycznie spowoduje uzyskanie spójnej kolejności we wszystkich systemach, jeśli wszystkie korzystają z tego samego schematu porządkowania.
19. Imię i nazwisko są z konieczności różne.
20. Ludzie mają nazwisko lub coś podobnego, które jest wspólne dla krewnych.
21. Imię osoby jest niepowtarzalne.
22. Imię i nazwisko osoby prawie wyjątkowa.
23. OK, OK, ale imiona są na tyle rzadkie, że nie ma miliona osób o tym samym imieniu i nazwisku.
24. Mój system nigdy nie będzie obsługiwał nazw z Chin.
25. Albo Japonia.
26. Albo Korea.
27. Albo Irlandia, Wielka Brytania, USA, Hiszpania, Meksyk, Brazylia, Peru, Szwecja, Botswana, Południowa Afryka, Trynidad, Haiti, Francja, Imperium Klingońskie – wszystkie używają „dziwnych” schematów nazewnictwa.
28. Imperium Klingońskie to był żart, prawda?
29. Cholerny relatywizm kulturowy! Mężczyźni w moje społeczeństwo, przynajmniej mają ten sam pomysł na ogólnie przyjęty standard nazw.
30. Istnieje algorytm, który konwertuje nazwy w taki czy inny sposób bez strat. (Tak, tak, możesz to zrobić, jeśli wynik algorytmu jest taki sam jak wejście, zdobądź medal).
31. Mogę śmiało założyć, że w tym słowniku słów wulgarnych nie ma nazwisk.
32. Ludziom nadawane są imiona w chwili urodzenia.
33. OK, może nie przy urodzeniu, ale całkiem niedługo potem.
34. OK, OK, w ciągu mniej więcej roku.
35. Pięć lat?
36. Żartujesz, prawda?
37. Dwa różne systemy, które wymieniają nazwisko tej samej osoby, będą używać tego samego imienia i nazwiska dla tej osoby.
38. Dwóch różnych operatorów wprowadzania danych, jeśli otrzyma imię i nazwisko danej osoby, z pewnością wprowadzi ten sam zestaw znaków, jeśli system jest dobrze zaprojektowany.
39. Ludzie, których nazwiska łamią mój system, są dziwnymi nieznajomymi. Powinny mieć normalne, akceptowalne nazwy, np. 田中太郎.
40. Ludzie mają imiona.

Lista nie jest bynajmniej wyczerpująca. Jeśli potrzebujesz przykładów prawdziwych nazwisk, które obalają którykolwiek z tych punktów, chętnie je podam. Możesz dodać więcej wypunktowań do tej listy błędnych przekonań w komentarzach i wysłać innym link do tej listy, gdy następnym razem wpadną na genialny pomysł stworzenia bazy danych zawierającej kolumny imię i nazwisko.

Źródło: www.habr.com

Dodaj komentarz