2010-12-07 3 views
5

우리 팀은 우리의 소프트웨어에 유니 코드를 구현해야합니다.이 유니 코드는 100 만 개가 넘는 코드입니다. 우리는 Oracle, SQL Server 데이터베이스가있는 Windows, AIX 또는 Solaris에서 MFC 클라이언트와 서버를 지원합니다. ICU는 매우 유용한 도구처럼 보입니다. ICU 사용의 장단점은 무엇입니까? ICU는 주요 버그없이 광고로 작동합니까?ICU의 장단점은 무엇입니까?

+0

예, ICU는 작동합니다. 나는 수년 동안 그것을 의지했다. "장점과 단점"은 일반적으로 StackOverflow의 범위를 벗어난 것으로 간주되는 의견 질문입니다. – keshlam

답변

6

데이터 포인트 : 우리의 사용자와 버그 목록 (예, 그 부인이야는) 우리의 project site의 모든입니다.

IMBO (편견) : 프로 : 광고, 포괄적으로

  • 작품.
  • 성숙한 : 10 년 이상, 좋은 안정성 정책과 적극적인 개발.
  • 최신 유니 코드 + CLDR + BCP47 + 다른 표준을 사용합니다.
  • 기본적으로 모든 곳에서 컴파일됩니다. C/C++/J와 python, perl, php 등을 호출합니다.
  • 기여도가 증가하는 오픈 소스입니다.
  • 위의 모든 필요한 데이터가 제공되지만 (단점은 아래 참조) 사용자 정의 할 수 있습니다.

    • 더 나은 설명서를 필요 :

    단점을 (사용자 정의 데이터를 추가 할 수 있습니다) (우리는 사람이을 돕고 싶어 try-?).

  • API가 너무 많습니다. 원하는 것을 수행하더라도 사용하기가 어려운 "너무 커서 # 1"입니다.
  • 임베디드 장치, 스마트 폰, 주요 데스크톱 응용 프로그램, 데이터베이스 및 운영 체제, 엔터프라이즈 응용 프로그램 등 다양한 유형의 프로그램에서 사용됩니다. 따라서 여러 가지 방법이있을 수 있습니다.
  • 위의 데이터가 모두 필요합니다! "너무 큽니다. # 2"(위의 프로 참조). (크기까지 줄일 수 있습니다)
1

ICU는 끔찍합니다. 가능한 한 피해야합니다.

의 나이에도 불구하고
  • , 거기에 기본적인 것들을는이 질문에 예를 들어, 부러 : Fixing regex to work around ICU/RegexKitLite bug

  • 시간 처리가 시간이 underspecified대로 분류됩니다 : 당신이 비에서 DST를 구별 할 수 많은 API에서 안정적인 방식으로 DST 시간.

  • 거대한 괴물입니다.

  • 설명서는 많은 작업이 필요합니다. 사용 빈도가 낮은 기능은 사용하기에 적합한 방법을 찾아 낼 방법이 없으므로 종종 사용할 수 없습니다. 저는 음역을 설명대로 작동 시키려고 노력하면서 며칠을 보냈고 결국 포기했습니다.

  • 모든 가능한 세계 중 최악 인 UTF-16으로 작업하는 것을 좋아합니다.

  • 문제는 지원되지 않습니다.

  • 내 경험에 따르면, 프로젝트를 진행할 때까지는 90 %의 시간이 걸리는 교활한 결함을 발견하기 전까지는 그렇지 않습니다.

많은 사람들에게 대안이 없으므로 방해받지 않습니다.

+1

'기본 사항'은 버그가 아닙니다. 링크와 버그를 따르십시오. 음역에 관한 버그를 신고했거나 지원 요청을 했습니까? ICU는 특징 및 * 데이터 세트로 인해 거대하지만 문서화 된 방식으로 작게 만들 수 있습니다. DST/DST가 아닌 버그를 신고 했습니까? - 요청한 내용을 잘 모르겠다. SO를 읽는 것은 우리의 공식 지원의 일부가 아닙니다. –

관련 문제