Fa dues setmanes, una traducció de “
John Graham-Cumming avui
Vaig viure al Japó durant diversos anys, programant professionalment i vaig trencar molts sistemes només amb el fet de dir-me. (La majoria de la gent em diu Patrick McKenzie, però accepto qualsevol dels sis noms "complets" com a correctes, tot i que molts sistemes informàtics no accepten cap d'ells). Així mateix, he treballat per a Grans Corporacions que fan negoci a escala global i, en teoria, han dissenyat els seus sistemes per a tots els noms possibles. Tan, No he vist cap sistema informàtic que gestioni els noms correctament, i dubto que aquest sistema existeixi enlloc..
Per tant, pel bé de tots, he compilat una llista de suposicions que probablement farà el vostre sistema sobre els noms de les persones. Totes aquestes suposicions són errònies. Intenteu reduir almenys la llista la propera vegada que dissenyeu un sistema.
1. Cada persona té un nom complet canònic.
2. Cada persona té un nom complet que fa servir.
3. En un moment determinat, cada persona té un nom complet canònic.
4. En un moment donat, cada persona té un nom complet que fa servir.
5. Cada persona té exactament N noms, independentment del valor de N.
6. Els noms encaixen en un nombre determinat de caràcters.
7. Els noms no canvien.
8. Els noms canvien, però només en alguns casos limitats.
9. Els noms s'escriuen en ASCII.
10. Els noms s'escriuen en una codificació.
11. Tots els noms corresponen a caràcters Unicode.
12. Els noms distingeixen entre majúscules i minúscules.
13. Els noms no distingeixen entre majúscules i minúscules.
14. De vegades hi ha prefixos o sufixos en els noms, però pots ignorar-los amb seguretat.
15. Els noms no contenen números.
16. Els noms no es poden escriure en majúscules TOTES.
17. Els noms no es poden escriure completament en minúscules.
18. Hi ha ordre en els noms. La selecció d'un dels esquemes d'ordenació de registres donarà lloc automàticament a un ordre coherent entre tots els sistemes si tots utilitzen el mateix esquema d'ordenació.
19. Els noms i cognoms són necessàriament diferents.
20. Les persones tenen un cognom o quelcom semblant que és comú als familiars.
21. El nom d'una persona és únic.
22. Nom de la persona gairebé únic.
23. D'acord, d'acord, però els noms són prou rars perquè no hi hagi un milió de persones amb el mateix nom i cognom.
24. El meu sistema mai tractarà amb noms de la Xina.
25. O Japó.
26. O Corea.
27. O Irlanda, Gran Bretanya, EUA, Espanya, Mèxic, Brasil, Perú, Suècia, Botswana, Sud-àfrica, Trinitat, Haití, França, l'Imperi Klingon, tots els quals utilitzen esquemes de noms "estranys".
28. L'Imperi Klingon era una broma, oi?
29. Maleït relativisme cultural! Homes dins la meva societat, almenys tenen la mateixa idea d'un estàndard generalment acceptat per als noms.
30. Hi ha un algorisme que converteix els noms d'una manera o d'una altra sense perdre'ls. (Sí, sí, podeu fer això, si la sortida de l'algoritme és la mateixa que l'entrada, feu-vos una medalla).
31. Puc suposar amb seguretat que aquest diccionari de paraules obscenes no conté cognoms.
32. Les persones reben noms en néixer.
33. D'acord, potser no en néixer, però poc després.
34. D'acord, d'acord, d'aquí a un any més o menys.
35. Cinc anys?
36. Estàs fent broma, oi?
37. Dos sistemes diferents que enumeren el nom d'una mateixa persona utilitzaran el mateix nom per a aquesta persona.
38. Dos operadors d'entrada de dades diferents, si se'ls dóna el nom d'una persona, segurament introduiran el mateix conjunt de caràcters si el sistema està ben dissenyat.
39. Les persones els noms de les quals trenquen el meu sistema són estranys desconeguts. Haurien de tenir noms normals i acceptables, com ara 田中太郎.
40. Les persones tenen noms.
La llista no és en absolut exhaustiva. Si voleu exemples de noms reals que refuten algun d'aquests punts, estaré encantat de proporcionar-los. No dubteu a afegir més punts per a aquesta llista d'idees errònies als comentaris i enviar a la gent un enllaç a aquesta llista la propera vegada que tinguin una idea genial per fer una base de dades amb columnes first_name i last_name.
Font: www.habr.com