Conceptos erróneos dos programadores sobre os nomes

Hai dúas semanas, unha tradución de “Equívocos dos programadores sobre o tempo", que se basea en estrutura e estilo neste texto clásico de Patrick Mackenzie, publicado hai dous anos. Dado que a nota sobre a época foi moi ben recibida pola audiencia, obviamente ten sentido traducir o artigo orixinal sobre nomes e apelidos.

John Graham-Cumming hoxe queixouse no seu blog que o sistema informático co que traballaba non aceptaba o seu apelido debido a caracteres non válidos. Por suposto, non hai caracteres non válidos, porque calquera forma en que unha persoa se represente é, por definición, un identificador axeitado. John expresou unha gran frustración pola situación, e ten todo o dereito, porque o nome é a esencia da nosa individualidade, case por definición.

Vivín en Xapón durante varios anos, programando profesionalmente, e rompeu moitos sistemas con só chamarme. (A maioría da xente chámame Patrick McKenzie, pero acepto calquera dos seis nomes "completos" como correctos, aínda que moitos sistemas informáticos non aceptan ningún deles). Así mesmo, traballei para Grandes Corporacións que fan negocios a escala global e, en teoría, deseñaron os seus sistemas para todos os nomes posibles. Entón, Non vin un só sistema informático que manexa os nomes correctamente, e dubido que exista un sistema así en calquera lugar..

Entón, polo ben de todos, compilei unha lista de suposicións que probablemente fará o teu sistema sobre os nomes das persoas. Todas estas suposicións son incorrectas. Tenta polo menos reducir a lista a próxima vez que deseñas un sistema.

1. Cada persoa ten un nome completo canónico.
2. Cada persoa ten un nome completo que usa.
3. Nun momento determinado, cada persoa ten un nome completo canónico.
4. Nun momento determinado, cada persoa ten un nome completo que utiliza.
5. Cada persoa ten exactamente N nomes, independentemente do valor de N.
6. Os nomes encaixan nun determinado número de caracteres.
7. Os nomes non cambian.
8. Os nomes cambian, pero só nalgúns casos limitados.
9. Os nomes escríbense en ASCII.
10. Os nomes escríbense nunha soa codificación.
11. Todos os nomes corresponden a caracteres Unicode.
12. Os nomes distinguen entre maiúsculas e minúsculas.
13. Os nomes non distinguen entre maiúsculas e minúsculas.
14. Ás veces hai prefixos ou sufixos nos nomes, pero pode ignoralos con seguridade.
15. Os nomes non conteñen números.
16. Os nomes non se poden escribir en MAIÚSCULAS TODAS.
17. Os nomes non se poden escribir totalmente en minúsculas.
18. Hai orde nos nomes. A selección dun dos esquemas de ordenación de rexistros dará lugar automaticamente a unha orde coherente entre todos os sistemas se todos usan o mesmo esquema de ordenación.
19. Os nomes e apelidos son necesariamente diferentes.
20. As persoas teñen un apelido ou algo semellante que é común aos familiares.
21. O nome dunha persoa é único.
22. Nome da persoa case único.
23. Vale, vale, pero os nomes son o suficientemente raros como para que non haxa un millón de persoas co mesmo nome e apelidos.
24. O meu sistema nunca se ocupará de nomes de China.
25. Ou Xapón.
26. Ou Corea.
27. Ou Irlanda, Gran Bretaña, Estados Unidos, España, México, Brasil, Perú, Suecia, Botswana, Sudáfrica, Trinidad, Haití, Francia, o Imperio Klingon, todos os cales usan esquemas de nomeamento "estraños".
28. O Imperio Klingon era unha broma, non?
29. Maldito relativismo cultural! Homes en miña sociedade, polo menos teñen a mesma idea dun estándar xeralmente aceptado para os nomes.
30. Hai un algoritmo que converte os nomes dun xeito ou doutro sen perda. (Si, si, podes facelo, se a saída do algoritmo é a mesma que a entrada, tómase unha medalla).
31. Podo asumir con confianza que este dicionario de palabras obscenas non contén apelidos.
32. As persoas reciben nomes ao nacer.
33. Está ben, quizais non ao nacer, pero moi pronto despois.
34. Vale, vale, dentro dun ano máis ou menos.
35. Cinco anos?
36. Estás de broma, non?
37. Dous sistemas diferentes que enumeran o nome da mesma persoa utilizarán o mesmo nome para esa persoa.
38. Dous operadores de entrada de datos diferentes, se se lle dan o nome dunha persoa, seguramente introducirán o mesmo conxunto de caracteres se o sistema está ben deseñado.
39. As persoas cuxos nomes rompen o meu sistema son estraños descoñecidos. Deberían ter nomes normais e aceptables, como 田中太郎.
40. As persoas teñen nome.

A lista non é en absoluto exhaustiva. Se queres exemplos de nomes reais que refuten algún destes puntos, estarei encantado de proporcionarllos. Non dubides en engadir máis viñetas para esta lista de equívocos nos comentarios e enviar ás persoas unha ligazón a esta lista a próxima vez que teñan unha idea xenial de facer unha base de datos coas columnas first_name e last_name.

Fonte: www.habr.com

Engadir un comentario