Предложение по написанию более модульного и тестируемого приложения для iOS с использованием Objective C - PullRequest
2 голосов
/ 07 апреля 2011

Я пишу приложение для устройств iOS с использованием Objective C.

Кажется, что написанный код тесно связан и повторное использование очень сложно.

Любые предложения по написанию более модульного приложения iOS с использованиемЦель C?Особенно легко проверить.

Ответы [ 3 ]

9 голосов
/ 07 апреля 2011

еще несколько предложений, которые, как я вижу, являются общими проблемами в программах objc:

  • предпочитают протоколы над субклассами больше, чем средний разработчик objc (очень важно)

  • предпочитают более мелкие объекты, которые являются более специализированными

  • минимизируют глобальные объекты (например, одиночные)

  • повторно используют и часто тестируют

  • понимают и принимают динамическую природу типов объектов / времени выполнения.не просто применяйте / приближайте идиомы вашего наиболее знакомого языка к объекту.Скорее всего, ваши программы пострадают.

  • для повторного использования кода / бэкэнда: предпочтение C, C ++, распределенные типы Apple и протоколы

  • заглушкаиз пакетов / подбиблиотек в нетривиальных программах.они должны собираться независимо.

  • помните о том, что вы повторно реализуете, и переносите общую реализацию в библиотеку

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

2 голосов
/ 07 апреля 2011

Вот несколько советов:

  • Попробуйте поместить повторно используемые компоненты как отдельные подпроекты библиотеки.XCode может обрабатывать проекты в проектах.
  • Использование категорий для расширения или изменения поведения встроенных классов.Компоненты изолированы от остальной части вашего кода и очень просты в тестировании
  • Убедитесь, что вы следуете шаблону MVC и не разбрасываете контроллеры.Поместите логику приложения в классы модели, чтобы они не имели зависимостей от представлений, что затрудняет тестирование.
2 голосов
/ 07 апреля 2011

Вы должны писать объектно-ориентированный код;все стандартные рекомендации по написанию модульных, многократно используемых, тестируемых объектов применимы в Objective C так же, как и в любом другом языке.

Есть ли какая-то причина, по которой вы считаете, что Objective C отличается в этом отношении?

...