iOS Makes Me Hate
3.94K subscribers
1.16K photos
167 videos
15 files
1.34K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

Самое больше iOS сообщество практиков: https://boosty.to/lionbond/

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Этот канал не только про иос разработку, а в том числе и про образ жизни. Поэтому буду делиться вещами, которые помогают мне лучше кодить. А вы делитесь тоже.

Одна из супер главный вещей для прогера — музыка. Она создает ритм и фон работе. Теперь будем собирать плейлисты для эффективной работы в такой сложной науке как кнопкостроение.

Начну с себя. Хоть я нихера не музыкант и не смогу описать собранный жанр, но попробую описать сердцем.

Собранные мной звуки электронной музыки бьют нотами индустриализации и модерна.

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

🎹 плейлист: https://music.yandex.ru/users/levbond93/playlists/1013
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7👍2🔥1🤔1
Single Responsibility Principle

В "Чистой архитектуре" Мартин говорит:

Принцип единственной ответственности касается функций и классов, но он проявляется в разных формах на еще двух более высоких уровнях:

На уровне компонентов он превращается в принцип согласованного изменения

💎

Принцип согласованного изменения — в один компонент должны включаться классы, изменяющиеся по одним причинам и в одно время. В разные компоненты должны включаться классы, изменяющиеся в разное время и по разным причинам. По сути это перефразированный SRP, только для компонентов. Иначе говоря, компонент не должен иметь несколько причин для изменений.

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

Сходство с принципом единственной ответственности:

Принцип SRP требует выделять методы в разные классы, если они изменяются по разным причинам.
Принцип CCP аналогично требует выделять классы в разные компоненты, если они изменяются по разным причинам. Оба принципа можно привести к общей формуле:

Собирайте вместе все, что изменяется по одной причине и в одно время. Разделяйте все, что изменяется в разное время и по разным причинам.

- Common Closure Principle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Какая архитектура UI слоя перекочевала в iOS с книги "Чистая архитектура"?
Anonymous Quiz
14%
MVC
10%
MVVM
6%
Микро-сервисная
4%
REDUX
26%
VIPER
17%
VIP
22%
PIDOR
Продолжаю собирать принципы из чистой архитектуры.

Common Reuse Principle в iOS

(Common Reuse Principle; CRP) Принцип совместного повторного использования — помогает определять, какие классы и модули должны включаться в компонент.

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

Проще говоря, нам не нужно зависеть от интерфейсов, модулей, компонентов, которые нам не нужны, но тянутся с другим компонетом
🔥1🍓1
Component cohesion (Связанность компонентов)

Выше познакомились с принципами связанности, но иногда они вступают в противоречие с друг другом

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

⚖️ Хороший архитектор найдет в этом треугольнике противоречий золотую середину, отвечающую текущим нуждам разработчиков, а также подумает об изменениях, которые могут произойти в будущем . Например, на ранних этапах разработки проекта принцип CCP намного важнее, чем REP, удобство разработки важнее удобства повторного использования.

- Component cohesion: principles and benefits
- 3 правила связанности для джуна
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
одна из идей за которую я топлю — высокая техническая культура и выход за рамки поверхностного изучения инструментов своей платформы.

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

допом еще бонуска из видео про важность изучения дополнительных языков
👍10🔥1
До чего прогресс дошел. Как нарастить волосы и скинуть десяток кг за пару мегабайт.

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

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

замечу, что в норм компаниях именно учат проводить собесы. Если вы думаете, что прощупывание всех вопросов до кишков это норм, то это не так. Пока несколько раз не проведешь с экспертом — не допустят. Независимо мидл ты или сеньор. Зачем это нужно?

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

2. Бренд. Хорошие компании думают о бренде. Если ты решил посраться с кандидатом, оценить его навыки в нежелательной форме или покритиковать — это все репутационные издержки и никто от них не в выигрыше.

3. Собес должен чекать актуальные технологии. Не стоит спрашивать про автолайут, если его нет на проекте. И также про obj-c. Это не сессия, где мерятся письками интервьюер и кандидат.

https://www.youtube.com/watch?v=a_z4U0RvQgQ
🔥11