Idee sbagliate dei programmatori sui nomi

Due settimane fa, una traduzione di “Idee sbagliate dei programmatori sul tempo", che si basa nella struttura e nello stile su questo classico testo di Patrick Mackenzie, pubblicato due anni fa. Poiché la nota sull'ora è stata accolta estremamente favorevolmente dal pubblico, ovviamente ha senso tradurre l'articolo originale su nomi e cognomi.

John Graham-Cumming oggi lamentato sul suo blog che il sistema informatico con cui lavorava non accettava il suo cognome a causa di caratteri non validi. Naturalmente non ci sono caratteri non validi, perché qualunque modo una persona rappresenti se stessa è – per definizione – un identificatore appropriato. John ha espresso grande frustrazione per la situazione, e ha tutto il diritto di farlo, perché il nome è l'essenza della nostra individualità, quasi per definizione.

Ho vissuto in Giappone per diversi anni, programmando professionalmente e ho rotto molti sistemi semplicemente chiamandomi. (Molte persone mi chiamano Patrick McKenzie, ma accetto come corretto uno qualsiasi dei sei nomi "completi", sebbene molti sistemi informatici non ne accettino nessuno.) Allo stesso modo, ho lavorato per grandi aziende che fanno affari su scala globale e, in teoria, hanno progettato i loro sistemi per ogni nome possibile. COSÌ, Non ho visto un solo sistema informatico che gestisca correttamente i nomi e dubito che un sistema del genere esista da qualche parte.

Quindi, per il bene di tutti, ho compilato un elenco di ipotesi che il tuo sistema potrebbe fare sui nomi delle persone. Tutte queste ipotesi sono sbagliate. Prova almeno a ridurre l'elenco la prossima volta che progetti un sistema.

1. Ogni persona ha un nome canonico completo.
2. Ogni persona ha un nome completo che utilizza.
3. Ad un dato momento, ogni persona ha un nome canonico completo.
4. In un dato momento, ogni persona ha un nome completo che usa.
5. Ogni persona ha esattamente N nomi, indipendentemente dal valore di N.
6. I nomi rientrano in un certo numero di caratteri.
7. I nomi non cambiano.
8. I nomi cambiano, ma solo in alcuni casi limitati.
9. I nomi sono scritti in ASCII.
10. I nomi sono scritti in una codifica.
11. Tutti i nomi corrispondono a caratteri Unicode.
12. I nomi fanno distinzione tra maiuscole e minuscole.
13. I nomi non fanno distinzione tra maiuscole e minuscole.
14. A volte ci sono prefissi o suffissi nei nomi, ma puoi tranquillamente ignorarli.
15. I nomi non contengono numeri.
16. I nomi non possono essere scritti in MAIUSCOLO INTERO.
17. I nomi non possono essere scritti interamente in minuscolo.
18. C'è ordine nei nomi. La selezione di uno degli schemi di ordinamento dei record risulterà automaticamente in un ordine coerente tra tutti i sistemi se tutti utilizzano lo stesso schema di ordinamento.
19. Il nome e il cognome sono necessariamente diversi.
20. Le persone hanno un cognome o qualcosa di simile comune ai parenti.
21. Il nome di una persona è unico.
22. Nome della persona quasi unico.
23. Ok, ok, ma i nomi sono così rari che non ci sono un milione di persone con lo stesso nome e cognome.
24. Il mio sistema non tratterà mai i nomi provenienti dalla Cina.
25. O il Giappone.
26. O la Corea.
27. O Irlanda, Gran Bretagna, Stati Uniti, Spagna, Messico, Brasile, Perù, Svezia, Botswana, Sud Africa, Trinidad, Haiti, Francia, Impero Klingon - che utilizzano tutti schemi di denominazione "strani".
28. L'Impero Klingon era uno scherzo, giusto?
29. Maledetto relativismo culturale! Uomini dentro la mia società, almeno hanno la stessa idea di uno standard generalmente accettato per i nomi.
30. Esiste un algoritmo che converte i nomi in un modo o nell'altro senza perdite. (Sì, sì, puoi farlo, se l'output dell'algoritmo è lo stesso dell'input, prenditi una medaglia).
31. Posso presumere con sicurezza che questo dizionario di parole oscene non contenga cognomi.
32. Alle persone vengono dati dei nomi alla nascita.
33. OK, forse non alla nascita, ma subito dopo.
34. Ok, ok, entro un anno circa.
35. Cinque anni?
36. Stai scherzando, vero?
37. Due sistemi diversi che elencano il nome della stessa persona utilizzeranno lo stesso nome per quella persona.
38. Due diversi operatori di immissione dati, se viene loro assegnato il nome di una persona, inseriranno sicuramente lo stesso insieme di caratteri se il sistema è ben progettato.
39. Le persone i cui nomi rompono il mio sistema sono strani estranei. Dovrebbero avere nomi normali e accettabili, come 田中太郎.
40. Le persone hanno nomi.

L'elenco non è affatto esaustivo. Se desideri esempi di nomi reali che confutano qualcuno di questi punti, sarò felice di fornirteli. Sentiti libero di aggiungere più punti elenco per questo elenco di idee sbagliate nei commenti e di inviare alle persone un collegamento a questo elenco la prossima volta che avranno un'idea brillante per creare un database con colonne first_name e last_name.

Fonte: habr.com

Aggiungi un commento