2010-12-07 22 views
5

Mi equipo tiene la tarea de implementar Unicode en nuestro software, que tiene más de un millón de líneas de código. Admitimos un cliente MFC y un servidor en Windows, AIX o Solaris con una base de datos Oracle o SQL Server. La UCI parece una herramienta muy útil. ¿Cuáles son los pros y los contras de usar la UCI? ¿La ICU funciona según lo anunciado sin errores importantes?¿Cuáles son los pros y los contras de la UCI?

+0

Sí, la UCI funciona; He confiado en esto por años. "Pros y contras" es una pregunta de opinión, que generalmente se considera fuera de límites en StackOverflow. – keshlam

Respuesta

6

Un punto de datos: Nuestro (sí, eso es un descargo de responsabilidad) la lista de usuarios y errores está en nuestro project site.

IMBO (sesgada): Pros:

  • funciona como se anuncia y completa.
  • Maduro: más de 10 años, con una buena política de estabilidad y un desarrollo muy activo.
  • Utiliza las últimas normas Unicode + CLDR + BCP47 +.
  • Compila básicamente en todas partes. C/C++/J y llamado por/implementa python, perl, php, ...
  • Código abierto, con una creciente diversidad de contribuyentes.
  • Viene con todos los datos necesarios para lo anterior (ver a continuación, en contra), pero personalizable. (Se puede agregar datos personalizados)

Contras:

  • necesita una mejor documentación (que prueba- alguien quiere ayudar a?).
  • Muchas API: "es demasiado grande # 1" difícil de saber cuál usar, incluso si hace lo que desea.
  • Utilizado por muchos tipos de programas, desde dispositivos integrados, teléfonos inteligentes a través de las principales aplicaciones de escritorio a través de bases de datos y sistemas operativos y aplicaciones empresariales: Entonces, puede haber múltiples formas de hacer algo.
  • ¡Viene con todos los datos necesarios para los de arriba! "es demasiado grande # 2" (ver arriba, debajo de los profesionales), pero personalizable. (se puede recortar al tamaño)
1

La UCI es terrible: evite si es posible.

  • A pesar de su edad, las cosas básicas en que se rompen, por ejemplo, en esta pregunta: Fixing regex to work around ICU/RegexKitLite bug

  • Tiempo de envases se rompió cuando los tiempos están underspecified: no se puede distinguir una DST desde un país que no Tiempo de DST de manera confiable en muchas API.

  • Es increíblemente grande.

  • La documentación necesita mucho trabajo. Las funciones menos utilizadas a menudo no se pueden usar porque no hay forma de descubrir la forma correcta de usarlas. Pasé días intentando que la transliteración funcionara como se explicó y finalmente me rendí.

  • Le gusta trabajar en UTF-16, el peor de los mundos posibles.

  • El soporte no responde a los problemas.

  • En mi experiencia, no es hasta que está casi todo el camino a través de un proyecto que comienza a descubrir los defectos insidiosos que le tomará el 90% de su tiempo.

Para muchas personas, no hay alternativa, así que estás atrapado con ella.

+1

lo 'básico' no es un error. Sigue el enlace y el error. ¿Presentó un error o envió una solicitud de soporte sobre transliteración? La UCI es enorme debido a la función y el conjunto de * datos *, pero se puede reducir de formas bien documentadas. ¿Presentó un error en DST/no DST? - No estoy seguro de entender lo que se solicita. Leer SO no es parte de nuestro soporte oficial, normalmente. –

Cuestiones relacionadas