2010-08-02 2 views
0

나는 통제하에 xcode 혼돈을 유지하려고 노력하고 있습니다. 즉, 작은 구성 요소/클래스를 프로젝트간에 재사용하는 방법. 한 가지 전략은 모든 클래스 또는 밀접하게 결합 된 클래스 컬렉션을 정적 라이브러리로 만드는 것입니다. 정적 라이브러리는 각각 단위 테스트, 데모 및 물론 라이브러리와 같은 몇 가지 목표를 가진 다른 하위 프로젝트를 생성합니다.Xcode와 iPhone은 수백 개의 정적 라이브러리를 처리 할 수 ​​있습니까?

지금 보이는 방식으로 최종 사용자가 몇 가지 맞춤 코드와 몇백 개의 라이브러리로 구성된 앱을 볼 수 있습니다. 그게 나를 무서워하지만 그래야합니까? 성능이 저하됩니까? 많은 도서관 접근법에 비실용적 인 다른 제한 사항이 있습니까?

+0

명확히하기 위해, 저는 많은 라이브러리를 가지고있는 기술적 인 단점에 관심이 있습니다. 예를 들어, 프로젝트에서 10 개 또는 20 개의 라이브러리를 직접 경험 한 사람이 선호합니다. 라이브러리가 많아서 성능 저하가 발생하고 그것들의 상한선입니까? 대본을 작성했다면 10,000 개의 라이브러리가있는 프로젝트를 만들 수 있습니까? 달릴까요? –

답변

0

일부 오프라인 토론 후, 100 개 라이브러리가 실행 속도를 늦추지 않지만 링크하는 동안 고통을 줄 수 있다는 의견이있었습니다.

많은 라이브러리 관리의 복잡성으로 인해 솔루션이 질병보다 악화 될 수 있습니다.

3

100 개가 넘는 정적 라이브러리가 혼란을 제어하지 못하면 훨씬 더 악화되고 있습니다. 코드를 논리적으로 정적 라이브러리로 그룹화하는 것은 좋은 생각이지만 클래스 당 하나씩 너무 세밀합니다. 100 개의 라이브러리는 유지 관리가 많이 필요한 수백 개의 프로젝트와 같습니다.

+0

하지만 작동합니까?성능이 멈출까요? –

+0

xcode가 더 많은 작업을하기 때문에 어느 정도 성능에 약간의 영향을 주어야합니다. 나는 그것을 시도하지만 내 자신의 시간을 낭비하지 않으려 고 여기에 당신의 결과를보고 자유롭게 :) – Gary

1

관리 편의성에 관심이 있으시면 svn : externals 또는 git submodules 사용을 고려해 보셨습니까?

나머지 트리와 다른 저장소의 하위 디렉토리이므로 공유 코드를 테스트하기위한 프로젝트 외에도 공유 코드의 최신 버전을 사용하여 여러 프로젝트를 모두 가질 수 있습니다. 체크 아웃

  • 공유 코드/
  • 테스트 코드/

프로젝트 1/< SVN - -

테스트/< 체크 아웃 SVN : 파일 계층 구조는 같을 것

  • 공유 코드/< - svn : tests/shared-cod 외부 전자/
  • P1 특정 코드/

프로젝트 2/< - 체크 아웃 svn의

  • 공유 코드/< - SVN : 테스트 외부/공유 코드/
  • P2 특정 코드/

가 SVN에 태그를 지정할 때 할 수있는 작은 SVN 댄스 파티 : 외관은, 내가 생각은 자식 서브 모듈은 다른 댄스 어를 필요로 그 내용을 HEAD로 업데이트하는 것은 아니지만 여러 프로젝트에서 공통 코드를 동기화하는 데 관련된 두통과는 거리가 멀습니다.

+0

나는 복잡성을 관리하는 기술에 관심이 있고, 불행히도, 너무 친숙한 자식과 svn의 찬반 양론입니다. 이것들은 어떤 상황에서는 훌륭한 기술이 될 수 있습니다. 지금 당장이 질문을 드리겠습니다. 저는 많은 라이브러리가있는 기술적 타당성에만 관심이 있습니다. 일부 기술은 기하 급수적으로 속도가 느려지고 카테고리에 라이브러리를 추가하고 직접 경험이있는 사람을 찾고자하는지 궁금합니다. –

관련 문제