Веб-версияОткрыть в Telegram

Пост😄 Мифы о совершенной архитектуре

17 декабря 2025
V
Vlad Tkachenko
😄 Мифы о совершенной архитектуре Многие команды внедряют достаточно сложные архитектуры (VIPER, Clean Architecture), которые признаны неким стандартом, но которые не решают их реальных задач, при этом увеличивают объем кода, время сборки проекта и время погружения разработчиков. Но идеальная архитектура это та, которая соответствует размеру команды и сложности бизнес-процессов. Мистер Хотфикс проанализировал 147 iOS проектов и сделал для нас много интересных выводов. Что говорит статистика? - Распределение: MVVM (41%), MVC (34%), VIPER/Clean (18%), TCA (5%), another (2%). - Проблема: 73% проектов используют архитектуры, которые не решают их фактические проблемы. - Последствия чрезмерного проектирования: Внедрение Clean Architecture в средних командах часто ведет к росту объема кода на 143%, замедлению разработки на 67% и увеличению времени онбординга новых разработчиков до 3 недель. Какие архитектуры популярны? - MVC (Model-View-Controller): Когда работает: Команды 1–3 человека, простые приложения. Проблема: Massive View Controller возникает не из-за самой архитектуры, а из-за неумения выделять сервисы (у 89% проблемных приложений). - MVVM (Model-View-ViewModel): Когда работает: Золотая середина для команд 3–10 человек, особенно в SwiftUI. Плюсы: Повышает покрытие тестами до 67% (против 23% в MVC) при умеренном росте кодовой базы (+35%). - VIPER / Clean Architecture: Когда работает: Команды 15+ человек, финансовые/медицинские приложения с ценой ошибки в миллионы. Минусы: Экстремальный избыток кода (одна фича может занимать 7 файлов и 730 строк кода против 3 файлов и 260 строк кода в MVVM). - TCA (The Composable Architecture): Когда работает: Команды уровня Senior, которым нужна 100% тестируемость и предсказуемое состояние. Риски: Высокий порог входа (2–3 месяца обучения) и возможные проблемы с производительностью. Как выбрать свою архитектуру? - Стартап / MVP (1–3 devs): SwiftUI + простой MVVM. Приоритет на скорость. - Среднее приложение (4–8 devs): MVVM + Coordinator + Dependency Injection. - Enterprise (10+ devs): Clean Architecture или модульный MVVM. Приоритет на масштабируемость. - А лучше: проанализировать свои задачи и проблемы, и выбрать архитектуру, которая будет решать именно их. Какие выводы можно сделать? - Главный архитектурный антипаттерн: Использовать «энтерпрайз» решения для проблем стартапа. - Когда менять архитектуру: Только если текущая система «взорвется» в ближайшие 3 месяца. Если она продержится еще 2 года, рефакторинг не в приоритете. - Важнее архитектуры: Чистота кода, регулярное ревью и тесты. Важно помнить, что помимо парадигмальной смены архитектуры, есть много способов улучшить кодовую базу. Repository, Coordinator и DI можно внедрить независимо от выбора архитектуры. Да и сам выбор архитектуры не будет гарантировать успех потому, что хорошо приготовленный MVC лучше недожаренного Clean Architecture. 📎 The Architecture You’re Implementing Isn’t the Right One (And That’s Okay) #D #Arch #Holywar 👏
10 · 272 ·

Рядом в ленте

KKirill Smirnov🤖 Все, что нужно знать о push-уведомлениях в iOS Иногда одна статья хорошо подсвечивает, насколько push-уведомления в iOS — это не «показать алерт», а сложная сEEgor Mezhin😏 SwiftUI: почему Group всё ещё считается вредным Почитал интересную статью от Two Cent Studios про контейнер Group в SUI – и она очень точно формулирует пробле
это сообщение
SSergio Petrov😄Почему мы стараемся минимизировать сторонние зависимости? Интеграция сторонней библиотеки часто кажется спасением: 10 минут вместо нескольких спринтов самостояKKirill Smirnov😒 Claude Code + XcodeBuildMCP + xcodemake. Попытка сделать быстрые инкрементальные билды для AI, рядом с xcodebuild. Как это работает: xcodemake сначала прогоня
YYDC — Pizza Powered iOSYDC — Pizza Powered iOS@YoungDaCode · канал · Технологии
243подписчиков150постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем