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?
Respuesta
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)
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.
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. –
- 1. Objeto de solicitud, ¿cuáles son los pros y los contras?
- 2. ¿Cuáles son los pros y los contras de usar Global.asax?
- 3. ¿Cuáles son los pros y los contras de Solr & ElasticSearch?
- 4. ¿Cuáles son los pros y los contras de TreeSet
- 5. ¿Cuáles son los pros y los contras de los submódulos de git y Repo?
- 6. ¿Cuáles son los pros/contras de 64 bit .NET?
- 7. ¿Cuáles son los pros y los contras de la eliminación y las actualizaciones en cascada?
- 8. ¿Cuáles son los pros y los contras de la entrada delimitada general de Ruby? (sintaxis porcentual)
- 9. ¿Cuáles son los pros y los contras de los procedimientos de llamada en VB.NET?
- 10. ¿Cuáles son los pros y los contras de la autentificación HTTP básica
- 11. ¿Cuáles son los pros y los contras de asset_packager y Jammit?
- 12. ¿Cuáles son los pros y los contras de las bases de datos de objetos?
- 13. ¿Cuáles son los pros y los contras de usar un correo electrónico como nombre de usuario?
- 14. ¿Cuáles son los pros y los contras de usar una enumeración de banderas?
- 15. ¿Cuáles son los pros y los contras de almacenar archivos en una base de datos?
- 16. ¿Cuáles son los pros y los contras de las revisiones de diseño/código?
- 17. ¿Cuáles son los pros y los contras de las diversas implementaciones de Python?
- 18. ¿Cuáles son los pros y los contras de usar una plantilla de motor como Jade?
- 19. ¿Cuáles son los pros y los contras de usar git-svn?
- 20. ¿Cuáles son los pros y los contras de OleDB versus SQLClient?
- 21. ¿Cuáles son los pros y los contras para usar un contenedor de IOC?
- 22. ¿Cuáles son los pros y los contras de usar una DLL?
- 23. ¿Cuáles son los pros y los contras de adoptar HTML 5 ahora para rediseñar un sitio?
- 24. ¿Cuáles son los pros y los contras de ejecutar un trabajo en Hadoop usando varios idiomas?
- 25. ¿Cuáles son los pros y los contras de un sitio 100% HTTPS?
- 26. ¿Cuáles son los pros y los contras del uso de d-punteros?
- 27. ¿Cuáles son los pros y los contras de usar Castle Active Record vs Straight NHibernate?
- 28. ¿Cuáles son los pros y los contras al elegir jquery como mi biblioteca principal de JavaScript?
- 29. ¿Cuáles son los pros y los contras de LinkedHashMaps vs. LinkedHashSets?
- 30. ¿Cuáles son los pros y los contras de dejar que Google aloje jQuery para mí?
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