testing - religion - turquia noticias de ultima hora
¿Qué es la prueba de Turquía? (6)
El enlace provisto por @Luixv brinda una descripción completa del problema.
El resumen es que si vas a probar tu código en un solo lugar no inglés, pruébalo en turco.
Esto se debe a que el turco tiene instancias de la mayoría de los casos extremos que es probable que encuentre con la localización, incluidas cadenas de formato "inusuales" y caracteres no estándar (como las reglas de mayúsculas diferentes para i).
Me encontré con la palabra ''The Turkey Test'' mientras aprendía sobre las pruebas de código. No sé realmente lo que significa.
¿Qué es la prueba de Turquía? ¿Por qué se llama así?
El problema de Turquía está relacionado con la internacionalización del software o simplemente con su mala conducta en diversas culturas lingüísticas.
En varios países hay diferentes estándares de fechas de escritura (14.04.2008 en Turquía y 14/04/2008 en EE. UU.), Números (es decir, 123,45 en Polonia y 123,45 en EE. UU.) Y reglas sobre la mayúscula de caracteres (como en Turquía con letras yo, yo y ı).
Como Jeff Moser señaló a continuación, el problema fue nombrado por el usuario turco que primero encontró el error en la función ToUpper()
. Hay más detalles en los comentarios a continuación.
Sin embargo, el problema no se limita a Turquía y a las conversiones de cadenas.
En Polonia y en muchos otros países, las fechas y los números también se escriben con diferentes maneras y los problemas relacionados con la interpretación de la fecha o los números también se llaman problemas de Turquía .
Enlaces de búsqueda de Google para Turquía Problema con detalles ya están dados:
- ¿Su código pasa la prueba de Turquía por Jeff Moser?
- ¿Qué está mal con Turquía? por Jeff Atwood.
Escribimos fechas más pequeñas o más grandes, como dd.MM.aaaa: 28.10.2010
Usamos ''.'' (Punto) para el separador de miles, y '','' (coma) para el separador decimal: 4.567,9
Tenemos ö => Ö, ç => Ç, ş => Ş, ğ => Ğ, ü => Ü, y lo más importante es que ı => I e i => İ ; en otras palabras, la minúscula de la I superior es sin puntos y la mayúscula de la i inferior está punteada.
Las personas pueden tener tiempos muy estresantes debido a errores sin sentido causados por las reglas anteriores.
Si su código se ejecuta correctamente en Turquía, probablemente funcione en cualquier lugar.
Jeff Atwood tiene un artículo de blog sobre el mismo, que es el primer lugar en el que me encontré por mi cuenta. en resumen, intentar ejecutar su aplicación en una configuración regional turca es una excelente prueba de su I18n.
aquí está el article jeffs
La llamada "prueba de Turquía" está relacionada con la internacionalización del software. Un problema de la globalización / internacionalización es que los formatos de fecha y hora en diferentes culturas pueden diferir en muchos niveles (orden día / mes / año, separador de fecha, etc.).
Además, Turquía tiene algunas reglas especiales para la capitalización, que pueden generar problemas. Por ejemplo, el carácter "i" turco es un problema común para muchos programas que lo capitalizan de forma incorrecta.
Aquí se describe la prueba de pavo
Olvídate de Turquía, esto ni siquiera pasará en los Estados Unidos. Necesita una comparación insensible a mayúsculas y minúsculas. Entonces intenta:
String.Compare(string,string,bool ignoreCase):
....
¿Alguno de estos pasa "The Turkey Test?"
¡De ninguna manera!
Motivo: Has sido golpeado con el problema "Turco I".
Según lo discutido por muchas personas, el "yo" en turco se comporta de manera diferente que en la mayoría de los idiomas. Según el estándar Unicode, nuestra "i" minúscula se convierte en "İ" (U + 0130 "Letra mayúscula latina I con punto arriba") cuando se mueve a mayúscula. De manera similar, nuestra "I" mayúscula se convierte en "ı" (U + 0131 "letra pequeña latina Dotless I") cuando se mueve a minúscula.