Conceptos erróneos de los programadores sobre los nombres

Hace dos semanas, una traducción de “Conceptos erróneos de los programadores sobre el tiempo", que se basa en estructura y estilo en este texto clásico de Patrick Mackenzie, publicado hace dos años. Dado que la nota sobre la época fue recibida muy favorablemente por el público, obviamente tiene sentido traducir el artículo original sobre nombres y apellidos.

John Graham-Cumming hoy se quejó en su blog que el sistema informático con el que estaba trabajando no aceptaba su apellido debido a caracteres no válidos. Por supuesto, no hay caracteres no válidos, porque cualquier forma en que una persona se represente a sí misma es, por definición, un identificador apropiado. John expresó una gran frustración por la situación y tiene todo el derecho a hacerlo, porque el nombre es la esencia de nuestra individualidad, casi por definición.

Viví en Japón durante varios años, programé profesionalmente y rompí muchos sistemas con solo llamarme a mí mismo. (La mayoría de la gente me llama Patrick McKenzie, pero acepto cualquiera de los seis nombres "completos" como correctos, aunque muchos sistemas informáticos no aceptan ninguno de ellos). Asimismo, he trabajado para Grandes Corporaciones que hacen negocios a escala global y, en teoría, han diseñado sus sistemas para todos los nombres posibles. Entonces, No he visto un solo sistema informático que maneje los nombres correctamente, y dudo que tal sistema exista en algún lugar..

Entonces, por el bien de todos, he compilado una lista de suposiciones que su sistema probablemente hará sobre los nombres de las personas. Todas estas suposiciones están equivocadas. Intente al menos reducir la lista la próxima vez que diseñe un sistema.

1. Cada persona tiene un nombre completo canónico.
2. Cada persona tiene un nombre completo que utiliza.
3. En un momento dado, cada persona tiene un nombre completo canónico.
4. En un momento dado, cada persona tiene un nombre completo que utiliza.
5. Cada persona tiene exactamente N nombres, independientemente del valor de N.
6. Los nombres caben en una determinada cantidad de caracteres.
7. Los nombres no cambian.
8. Los nombres cambian, pero sólo en ciertos casos limitados.
9. Los nombres están escritos en ASCII.
10. Los nombres están escritos en una codificación.
11. Todos los nombres corresponden a caracteres Unicode.
12. Los nombres distinguen entre mayúsculas y minúsculas.
13. Los nombres no distinguen entre mayúsculas y minúsculas.
14. A veces hay prefijos o sufijos en los nombres, pero puedes ignorarlos con seguridad.
15. Los nombres no contienen números.
16. Los nombres no pueden escribirse en letras MAYÚSCULAS ENTERAS.
17. Los nombres no se pueden escribir enteramente en minúsculas.
18. Hay orden en los nombres. Seleccionar uno de los esquemas de ordenación de registros dará como resultado automáticamente un orden consistente entre todos los sistemas si todos usan el mismo esquema de ordenación.
19. Los nombres y apellidos son necesariamente diferentes.
20. Las personas tienen un apellido o algo parecido que sea común a los familiares.
21. El nombre de una persona es único.
22. Nombre de la persona casi único.
23. Está bien, está bien, pero los nombres son lo suficientemente raros como para que no haya un millón de personas con el mismo nombre y apellido.
24. Mi sistema nunca tratará con nombres de China.
25. O Japón.
26. O Corea.
27. O Irlanda, Gran Bretaña, Estados Unidos, España, México, Brasil, Perú, Suecia, Botswana, Sudáfrica, Trinidad, Haití, Francia, el Imperio Klingon, todos los cuales utilizan esquemas de nombres "extraños".
28. El Imperio Klingon era una broma, ¿verdad?
29. ¡Maldito relativismo cultural! hombres en mi sociedad, al menos tengo la misma idea de un estándar generalmente aceptado para nombres.
30. Existe un algoritmo que convierte nombres de una forma u otra sin pérdida. (Sí, sí, puedes hacer esto, si la salida del algoritmo es la misma que la entrada, llévate una medalla).
31. Puedo asumir con seguridad que este diccionario de palabras obscenas no contiene apellidos.
32. Las personas reciben nombres al nacer.
33. Vale, tal vez no al nacer, pero sí poco después.
34. Vale, vale, dentro de un año más o menos.
35. ¿Cinco años?
36. Estás bromeando, ¿verdad?
37. Dos sistemas diferentes que enumeran el nombre de la misma persona utilizarán el mismo nombre para esa persona.
38. Dos operadores de entrada de datos diferentes, si se les da el nombre de una persona, seguramente introducirán el mismo conjunto de caracteres si el sistema está bien diseñado.
39. Las personas cuyos nombres rompen mi sistema son extraños. Deberían tener nombres normales y aceptables, como 田中太郎.
40. La gente tiene nombres.

La lista no es en modo alguno exhaustiva. Si desea ejemplos de nombres reales que refuten cualquiera de estos puntos, estaré encantado de proporcionárselos. Siéntase libre de agregar más viñetas para esta lista de conceptos erróneos en los comentarios y envíe a las personas un enlace a esta lista la próxima vez que se les ocurra una idea brillante para crear una base de datos con columnas de nombre y apellido.

Fuente: habr.com

Añadir un comentario