Как стать автором
Обновить

Комментарии 19

Оценивая свое пользование ⇧⌘O — думаю одним из важнейших факторов является конвенция именования типов/классов/файлов/структур.
Согласен. Хорошая идея для небольшой статьи. Возьму на заметку. Пока готовлю черновик об организации файлов класса.
Можно еще туда же включить доп. директивы компилятора для улучшения читаемости\документирования кода. #pragma, #warning, //FIXME и прочее
Еще добавил бы папку Network для реквестов и класса для работы с сетью. Аналогично папка Database. Также удобна отдельная папка для категорий. Базовые классы модели храню в папке Models, для вьюконтроллеров — в папке для для вьюконтроллера. Локализационные файлы храню в папке Resources.
Классы для работы с сетью у меня лежат в API, планирую написать статью об обертке для AFNetworking. Про Database и локализацию согласен, обновлю статью.
Группировать файлы лучше по назначению. Например, есть часть проекта, которая отвечает за события. Ее и нужно группировать. Когда происходит работа над функциональностью, то так удобно держать все части рядом. Если фича большая, то можно увеличить вложенность. Например, события отображаются в таблице, типов ячеек в таблице — 7 и их можно сгруппировать в свой каталог. Для каждого события можно посмотреть детали — своя группа. А если фича совсем вырастет, то ее можно просто выделить в отдельный подпроект и определить точки входа, не раскрывая в публичных интерфейсах все.
Интересно, почему принято все файлы проекта пихать лишний раз в папку на верхнем уровне? (В примере статьи — папка Sample/Sample)
Я делаю так:
image
При работе с внешним репозиторием, Source tree клонирует только в пустую, от этого получается лишняя папка.
А вот я бы рекомендовал убрать все пробелы из имен папок. Потому что в тот день, когда вы захотите добавить какой-нибудь скрипт — вы будете очень сожалеть о том что столько много директорий имеют пробелы. В принципе, все сработает и с пробелами, но не раз наткнетесь на то что bash разделит имя файла на 2 пути.
Очень похоже на Amaro, которым я пользуюсь уже который раз :)
НЛО прилетело и опубликовало эту надпись здесь
Спасибо :) Тут действительно нет единственного верного решения. Главное чтобы было удобно, порог вхождения для нового человека был низкий и соблюдался единый стиль внутри компании. С RAC и VIPER не работал, не могу ничего сказать.
Дерево проекта должно полностью соответствовать реальной структуре папок на диске.

Меня очень раздражает, что структура папок в xcode может отличаться от реальной.
Люди уже начали придумывать какие-то синхронизаторы типа этого — github.com/venmo/synx.
Я с xcode работаю не долго, поэтому возмножно кто-то подскажет на сколько это полезно?
AppCode вам в помощь, там по умолчанию создаются папки.
Продукцию JetBrains очень люблю, но AppCode пока еще не очень удобный, особенно если дело касается storyboards. Хотя возможно дело привычки. А вы перешли на AppCode и назад в XCode возвращаться не хотите? Может и мне стоит попробовать.
В Xcode возвращаюсь, для сборки проекта для iTunes/Fabric только.
Storyboards не пользуюсь, так что ничего не могу конкретного сказать об удобстве работы с ними в AppCode.
Я привык работать с UI в коде.
Чтобы структура папок в Xcode совпадала с реальной, нужно создавать папки, а не группы.

File -> Add Files to «Project Name ...» (Alt + Cmd + A)
New Folder (Cmd + Shift + N)
В появившемся диалоге выбрать «Create groups»
Add

В результате этих действий создастся папка-группа, в которую можно добавлять новые файлы.
Да, это все понятно. Мне даже другое больше не нравится — когда создаешь новые папки не через XCode нужно еще дополнительно делать какие-то действия (линковать) чтобы они появились в ide. Не удобно.
Это да, согласен.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории