Могут ли Xcode и iPhone обрабатывать сотни статических библиотек? - PullRequest
0 голосов
/ 02 августа 2010

Я пытаюсь держать хаос под контролем. А именно, как повторно использовать мои небольшие компоненты / классы между проектами. Одна из стратегий - сделать каждый класс или тесно связанный набор классов статической библиотекой, каждый из которых является порождением отдельного подпроекта с несколькими целями, такими как юнит-тесты, демонстрации и, конечно, библиотека. *

Как это выглядит сейчас, я мог видеть конечное приложение, состоящее из некоторого пользовательского кода и, скажем, пары сотен библиотек. Это пугает меня, но так ли? Пострадает ли производительность? Существуют ли другие ограничения в подходе с несколькими библиотеками, которые могут сделать его непрактичным?

Ответы [ 3 ]

3 голосов
/ 02 августа 2010

Наличие сотен статических библиотек не контролирует хаос, а делает его намного хуже. Логично группировать ваш код в статические библиотеки, но по одному на класс слишком хорошо. Сотни библиотек равняются сотням проектов, что требует много обслуживания.

1 голос
/ 04 августа 2010

Если вас беспокоит управляемость, рассматривали ли вы возможность использования подмодулей svn: externals или git?

Это подкаталог из другого хранилища, чем у остального дерева, так что вы можете иметь несколько проектов, использующих последние версииверсия вашего общего кода в дополнение к проекту только для тестирования этого общего кода.Иерархия файлов будет выглядеть примерно так:

tests / <- svn checkout </p>

  • shared-code /
  • test-code /

проект 1 / <- svn checkout </p>

  • общий код / ​​<- svn: внешний для тестов / общий код / ​​</li>
  • p1-specific-code /

проект 2 / <- svn checkout </p>

  • shared-code / <- svn: внешний для тестов / shared-code / </li>
  • p2-specific-code /

При добавлении тегов с помощью svn: externals нужно сделать небольшой svn-танец, и я считаю, что подмодулям git требуется другой танец при обновлении их содержимого до HEAD, но оба они далекоголовная боль, связанная с синхронизацией общего кода между несколькими проектами.

0 голосов
/ 03 августа 2010

После некоторого обсуждения в автономном режиме было достигнуто согласие о том, что сотни библиотек не будут замедлять выполнение, но могут причинять боль при связывании.

Сложность управления большим количеством библиотек может, конечно, сделатьрешение хуже, чем болезнь.

...