Моят екип има за задача да внедри Unicode в нашия софтуер, който е доста над един милион реда код. Ние поддържаме MFC клиент и сървър на Windows, AIX или Solaris с Oracle или SQL Server база данни. ICU изглежда като много полезен инструмент. Какви са предимствата и недостатъците на използването на интензивно лечение? Работи ли ICU, както се рекламира, без големи грешки?
Какви са плюсовете и минусите на интензивното лечение? [затворено]
Отговори (2)
Точка за данни: Нашият (да, това е отказ от отговорност) списък с потребители и грешки е изцяло в нашия проект сайт.
IMBO (предубеден): Плюсове:
- работи както е рекламирано, изчерпателно.
- Зрял: вече 10+ години, с добра политика на стабилност и много активно развитие.
- Използва най-новите Unicode+CLDR+BCP47+други стандарти.
- Компилира се основно навсякъде. C/C++/J и извикан от/имплементира python,perl,php,...
- Отворен код, с нарастващо разнообразие от сътрудници.
- Предлага се с всички необходими данни за горното (вижте по-долу, под минуси), но може да се персонализира. (могат да добавят персонализирани данни)
Против:
- Има нужда от по-добра документация (опитваме се – някой иска ли да помогне?).
- Много приложни програмни интерфейси (API) – „твърде голямо е №1“ трудно е да разберете кой да използвате, дори и да прави това, което искате.
- Използва се от много видове програми, от вградени устройства, смартфони през основни настолни приложения през бази данни и операционни системи и корпоративни приложения: Така че може да има множество начини да направите нещо.
- Предлага се с всички необходими данни за горното! "това е твърде голямо #2" (вижте по-горе, под плюсове), но може да се персонализира. (може да се намали до размер)
Интензивното отделение е ужасно: избягвайте, ако е възможно.
Въпреки възрастта му, основни неща в него са счупени, например в този въпрос: Коригиране на регулярен израз за заобикаляне на грешка в ICU/RegexKitLite
Обработката на времето е нарушена, тъй като часовете са недостатъчно определени: не можете да различите лятно време от не-лятно време по надежден начин в много API.
Това е адски огромно.
Документацията изисква много работа. По-рядко използваните функции често са неизползваеми, защото няма начин да разберете правилния начин да ги използвате. Прекарах дни в опити да накарам транслитерацията да работи, както е обяснено, и в крайна сметка се отказах.
Той обича да работи в UTF-16, най-лошият от всички възможни светове.
Поддръжката не реагира на проблеми.
Според моя опит, едва след като преминете през по-голямата част от проекта, започвате да откривате коварните недостатъци, които ще отнемат 90% от времето ви.
За много хора няма алтернатива, така че сте останали с нея.