🔥

Тред #4


День 3: Архитектурки не нужны На самом деле не совсем, хехе. Они нужны, но не всегда и с кучей НО. Учить их точно нет смысла, это чисто прикладная вещь, которая изучается на проекте, тк она: Скорее всего будет извращена (привет, аналитика) Подпёрта легасятиной Устарела

И всё это при том, что она реализована более-менее правильно (скорее всего нет). Не существует никакого магического сочетания букв, которое решит все проблемы, предотвратит техдолг, а разработчики преисполнятся. Кроме той, которая описана на этом сайте: iosarchitecture.top

Куда важнее - это используемые подходы, нужно стремиться чтобы они были консистентными. Кладите кирпичи в предсказуемом порядке (кодстайл - это хорошо) и не так важно, что это прямоугольные коровьи лепешки. Дублирование кода сильно дешевле плохой/неуместной абстракции

Ситуация: обмазался архитектуркой, всё вроде ок, но тут приходит задача сделать кастомный интерактивный транзишен и о-оу, в книжке/статье этого не было. Мы в жопе, в проекте появляется новая опухоль. Все архитектуры хорошо работают только на бумаге и изолированных примерах

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

Пожили со своей поделкой какое-то время, поняли где возникают проблемы и как их можно решить - переделали. Архитектуры должны решать проблемы, а не создавать. Делаете простой экран где можно обойтись без лишних абстракций - обходитесь. Избегайте преждевременных оптимизаций

Ну и, товарищи синиоры, не дрочите вы людей на собесах архитектурами, всё равно у вас она сделана не идеально, с кусками из костылей и легасятины. Любой нормальный разработчик достаточно быстро въедет, если выдержан стиль и там не кромешный ад. Знает - хорошо, нет - тоже хорошо

Нужно подстраивать архитектуру под проект, а не наоборот. Лучше тот код, который легче понять и быстрее отредачить, чем элегантная неуместная абстракция. Это не значит, что нужно пилить велосипеды под всё, всегда лучше взять готовый подход тк с ним могут быть уже знакомы другие

С первого раза, конечно, вряд ли получится круто, но это нормально, это итеративный процесс. Вещи, которые кажутся подходящими, со временем могут оказаться говном - это тоже нормально. Подпилите под себя и, если оно всё консистентно и вы счастливы, это - успех. Нет? Итерируйтесь

Два кейса когда без них точно больнее, чем с - это если у вас большая команда или вы пишите тесты. Что-то выдумать вам точно придется. И если говорить про минимум, то оно скорее всего будет похоже на МВВМ-С, но это не точно. Вы же сделаете так, как будет лучше для проекта, верно?

Кажется, что я хотел что-то ещё написать, но уже и не вспомню, с этой жарой с потом вытекли последние мозги. Поэтому я отчаливаю, напоследок опрос который я забыл сделать днём. Всем до завтра и спасибо за внимание, вы там держитесь С вами был @bitemybyte А как у вас в проекте?
🤔 22.5% Не страдаем с чужим
🤔 17.5% Страдаем с чужим
🤔 45.0% Что-то своё
🤔 15.0% Ничего