Отвлечемся от SOLID к менее популярным, но иногда даже более важным принципам.
KISS (keep it simple, stupid)
Как-то в разговоре с коллегой он сказал, что я выдумал этот принцип. Ведь такое название и его расшифровку мог придумать только какой-то гопарь и ни один адекватный человек не будет воспринимать нэйминг всерьез.
Кажется, это глубочайшая ошибка. Ведь принцип довольно мощный. А переоценить его пользу сложно.
По названию нетрудно понять, что он требует. У него много трактовок, но попробуем пройтись по основным:
Иначе говоря, правило предельно простое — не усложни. В теории звучит легко, но на практике требует опыта и многолетней практики. Усложняет это индуские подходы, где в некоторых компаниях оценивают работу по строкам кода в реквестах. А начинающие разработчики хотят показать свою компетенцию, показав ее в ненужных испытаниях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍1
Прошел тут обучение по антипаттернам в продуктовой разработке и хочу с вами поделиться основными идеями.
Одна из турбулентностей для пришедших галлерных разработчиков в продуктовку — это простои. Я сам страдал после аутсорса. Человеку с ресурсным мышлением очень сложно работать в больших и крупных компаниях. Всегда будут большие процессы доставки нашего кода и придется развиваться в других плоскостях. Уметь коммуницировать, понимать процессы, менторить, вести задачи. Иными словами тут приходит уже не модный t—shaping.
Для тех, кто 8 часов привык не останавливаясь кодить — это очень больно. Но крупному бизнесу чаще нужно больше.
Какие же антипаттерны в продуктовой разработке?
Это одни из многих антипаттернов. Еще добавлю, что сильно влияют финансовые модели команд внутри одной компании. И здесь важно уметь переключаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10💯3🔥1😁1
Forwarded from Код Дурова
Apple разрешит альтернативные магазины приложений, чтобы соблюсти строгие требования ЕС, которые вступают в силу в 2024 году.
@d_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Код Дурова
Apple разрешит работу сторонних магазинов приложений
Вероятно, это будет актуально только в Европе.
🔥12😐2
Свою серьезную коммерческую карьеру я начал с веба и фреймворка React. От прошлого не отмоешься. Тогда, в 2016, был сайт "этажей" и мы юзали библиотеку FLUX, потом меня заставили переписывать на REDUX от того же автора. Так началась наша любовь не с первого взгляда. Сначала мы не понравились друг другу, а потом не можем забыть.
Концепция однонаправленности, изменения состояния за счет прослушки событий из года в год становится более привлекательной для управления бизнес-логикой и её ограничения.
Придя в iOS в 2018 я так и не делал анализ существующих трендов. UDF много ругали за несовместимость с UIKit и не хотелось рисковать с экспериментами. Почему ругали? Я не тратил время на разбор. Пришлось сидеть с вашими вайперами, спорами про MVC. В следующих постах будем делать сравнения UDF архитектур и почему же флаксообразные архитектуры пришли с большим запозданием в мир иоса.
Поищем ответы на главные вопросы? Как далеко ушел от TCA? Почему в андроиде MVI популярнее, чем в яблоке? Зачем это все вообще нужно?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍1
Flux: границы использования
Friends don’t let friends pick a design pattern blindly. (с) Dan Abramov
Я не знаю родоначальник ли Flux UDF архитектур, но у многих она с ним ассоциируется.
Пусть в офицальной странице с докой висит рекомендация, что лучше юзать другие архитектуры (REDUX, MobX, etc), но я все же бегло пройдусь по основным концептам.
Рекомендую почитать статью Дэна Абрамова о безумстве людей. Многие могут оставить худшее, отбросив лучшее.
Для чего же полезен FLUX:
1️⃣ Приложение имеет высокую частоту изменения данных и нужно быстро все отрисовать на экране
2️⃣ Кэшированные данные могут измениться пока закэшированы.
3️⃣ Реляционные связи в моделях. Кнопки и счетчики имеют связь многие ко многие
4️⃣ Много переиспользуемых компонентов
Кэширование, аннулирование, обновления, агрегирование, разбиение на модули и многие другие вещи становятся намного проще, когда модели являются простыми объектами и не пытаются управлять сложными обновлениями друг друга.
Store — это единственное место во всем приложении, которое имеет право изменять данные. Он не имеет сеттеров и реагирует только на действия, инициированные компонентами.
- Либа для иос — reactorkit
Friends don’t let friends pick a design pattern blindly. (с) Dan Abramov
Я не знаю родоначальник ли Flux UDF архитектур, но у многих она с ним ассоциируется.
Пусть в офицальной странице с докой висит рекомендация, что лучше юзать другие архитектуры (REDUX, MobX, etc), но я все же бегло пройдусь по основным концептам.
Рекомендую почитать статью Дэна Абрамова о безумстве людей. Многие могут оставить худшее, отбросив лучшее.
Для чего же полезен FLUX:
1️⃣ Приложение имеет высокую частоту изменения данных и нужно быстро все отрисовать на экране
2️⃣ Кэшированные данные могут измениться пока закэшированы.
3️⃣ Реляционные связи в моделях. Кнопки и счетчики имеют связь многие ко многие
4️⃣ Много переиспользуемых компонентов
Кэширование, аннулирование, обновления, агрегирование, разбиение на модули и многие другие вещи становятся намного проще, когда модели являются простыми объектами и не пытаются управлять сложными обновлениями друг друга.
Store — это единственное место во всем приложении, которое имеет право изменять данные. Он не имеет сеттеров и реагирует только на действия, инициированные компонентами.
- Либа для иос — reactorkit
👍6
Непопулярный не значит неправильный.
✦ Давайте думать над архитектурами. Доклад старый, но не менее актуальный. В иос разрабов мало, многие не смотрят за границы платформы. Другие многие смотрят, но приносят свои пересказы. Помешательство на шаблонных и бездумных решениях — боль. Особенно болезнь прогрессирует в вакууме и изоляции. При проектировании надо думать, а множество антипаттернов у нас (тот же MVC), при правильном понимании и готовки не такой уж и антипаттерн.
✦ SOLID вам не нужен. Очень многие любят поспорить о нарушении принципов, но также многие используют их не в том контексте. Это создает путаницы и мифы. Массовые помешательства и культы карго. Чаще нужно смотреть глубже и изучать что и в каком контексте было сказано.
✦ VIPER – шаблон дизайна или архитектура? кому-то поломает представление о вайпере. Прикольный видос как его организация может полностью нарушать принципы чистой архитектуры
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Forwarded from Teamlead Good Reads – ежедневные советы про менеджмент людей и команд (Egor Tolstoy)
Как устроены архитектурные ревью в Skyscanner
У Подлодки есть замечательный выпуск с Филиппом Дельгядо про то, почему code review часто добавляет больше проблем, чем пользы, и про другие виды peer review, которыми его можно заменить. Если вы уже посмотрели выпуск или доклад Фила на ту же тему, и хотите узнать, а как оно работает на практике, то вот вам кейс от Skyscanner.
- Автор планируемого изменения готовит документ, в котором описывает решаемую проблему и детали своего решения.
- Этот пропозал читают и комментируют все связанные с изменением команды. Весь ревью организован асинхронно, встреча собирается только в том случае, если есть какие-то крупные вопросы и комментарии, которые автору удобнее разобрать голосом.
- Документ продолжает жить и дальше, постепенно превращаясь в документацию разработанного сервиса или принятого решения.
У Подлодки есть замечательный выпуск с Филиппом Дельгядо про то, почему code review часто добавляет больше проблем, чем пользы, и про другие виды peer review, которыми его можно заменить. Если вы уже посмотрели выпуск или доклад Фила на ту же тему, и хотите узнать, а как оно работает на практике, то вот вам кейс от Skyscanner.
- Автор планируемого изменения готовит документ, в котором описывает решаемую проблему и детали своего решения.
- Этот пропозал читают и комментируют все связанные с изменением команды. Весь ревью организован асинхронно, встреча собирается только в том случае, если есть какие-то крупные вопросы и комментарии, которые автору удобнее разобрать голосом.
- Документ продолжает жить и дальше, постепенно превращаясь в документацию разработанного сервиса или принятого решения.
Medium
Building systems at scale: how Skyscanner approaches engineering design reviews
By Tom Butterwith, Engineering Manager
👍3🤔2
Практикуешь парное программирование?
Anonymous Poll
11%
Да, уже давно
1%
Да, только начали
1%
Да, но отказываемся
4%
Нет, но собираемся
7%
Нет, но раньше да
36%
Нет, не собирались и не будем
40%
Нет, Да, Нет, Да)0)0000
Включайте VPN. Крутой твиттер тред от девушки программистки. За год нарешала 400 задач. Да и между подходами литкода еще и на шесте крутиться науспела. Руки на стол.
Вкратце:
- Не решать ради подготовки к собесам
- Литкод научил не только алгоритмам
- На задачу уходило не больше 40 минут
Вкратце:
- Не решать ради подготовки к собесам
- Литкод научил не только алгоритмам
- На задачу уходило не больше 40 минут
🔥17👍1😐1
iOS Makes Me Hate pinned «🍏 Сбор заявок для закрытой беты В общем, желающих стало больше, чем ожидалось. Писать каждому в лс и ждать ответа будет долго и дорого. Поэтому вот форма От вас нужно только: 1. email с привязанным к нему icloud 2. имя + фамилия 3. ник в телеграме для связи…»
This media is not supported in your browser
VIEW IN TELEGRAM
Сорри, что так долго. Учился делать гифку в афтер эффекте.
Итак, голодные игры начались, епта. Всем отправившим инфу скоро придет на почту приглашение в тестфлайт. Скачайте его заранее.
В первой версии будет 2 функции:
- Тесты. Они будут на время и с испытанием
- Материалы. Там можно изучить разные статьи
Дальше будут наращиваться мясо и мышцы. Каждую новую фичу будем презентовать тут, но не полностью, оставляя пасхалки и детали для самостоятельного изучения.
Сразу заложим вектор чего ожидать и нет. Это приложение не будет иметь цель слепой зубрежки. Идея — выжить (и выжать) из мобильного устройства все возможности для комфортного и приятного обучения и тренировок. Возможно, и игру напишем в будущем со сценарием...
Каждое испытание должно челенджить и иметь последствия. Ваш фидбэк будет приветствоваться
Заявки можно докидать сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🐳1
Я не считаю деньги главным, но считаю важным инструментом для справедливости оплаты труда. Чем выше твой навык под изменчивые требования рынка, тем должна быть выше стоимость на спрос твоих услуг.
Абсолютно логично, что симулятор иосника должен увеличивать навыки пользователя, а значит и стоимость на рынке
https://getmatch.ru/salaries/ios
Please open Telegram to view this post
VIEW IN TELEGRAM
getmatch.ru
Сколько зарабатывают IT-специалисты в России?
Узнайте, достаточно ли вы получаете и какие компании платят специалистам разных уровней больше всего
😢6🔥3🤔1
Добавил первых 25 человек в бету. Вам должен придти инвайт.
Всем тем, кому не отправил — сорри. Буду добавлять по наличию свободного времени. Если есть вопросы по инвайтам, вы хотите ускорить свое добавление, подать заявку, написать фидбэк — прошу в чат.
Тех, кому выслал инвайт, попрошу в чат зайти самим. У многих стоит запрет на добавление в группы. Так вы покажите свою вовлеченность.
Активность в тестфлайт будет мониториться и в случае долгого простоя вас удалят из тестеров.
Всем тем, кому не отправил — сорри. Буду добавлять по наличию свободного времени. Если есть вопросы по инвайтам, вы хотите ускорить свое добавление, подать заявку, написать фидбэк — прошу в чат.
Тех, кому выслал инвайт, попрошу в чат зайти самим. У многих стоит запрет на добавление в группы. Так вы покажите свою вовлеченность.
Активность в тестфлайт будет мониториться и в случае долгого простоя вас удалят из тестеров.