Wild Russian GameDev Mentor
98 subscribers
116 photos
5 videos
60 links
Обучаю созданию игр на Unity и программированию на C#.

Запись на занятия – сообщения канала
Лайвкодинг/игры – twitch.tv/ko1ba5er
Бустануть канал – t.me/boost/WRGDM

Please, be patient, я не умею пользоваться отложкой.
Download Telegram
ДОКУМЕНТАЦИЮ ПИШУТ ПОБЕДИТЕЛИ

Ставлю сотку, что никто из вас никогда в жизни не писал документацию🤝. И вот, почему это большая ошибка.

📯Зачем?

Для себя:
Если ты работаешь один, и проект длится больше двух недель, то ты работаешь не один☝️. Вас уже, как минимум трое: ты, ты неделю назад и ты через неделю👯‍♀️. Память программиста не забита кодом, память программиста забита архитектурой и информацией, где прочитать про код😐.


А сам код оттуда очищается сразу, как ты переходишь к другому участку🧹. Так что сэкономь время – напиши пару строчек, чтобы потом не разбираться в своем произведении💩.

Для друзей:
Если же ты работаешь с кем-то, тут количество читающих код в первый раз увеличивается в разы📈. К тому же, это помогает правильно использовать ваши модули другим людям🫂.


Вот, например, написал ты метод, который принимает string. Вася пытается его использовать, и думает: "А что если формат неверный🤔?" И делает проверку на входе. А ты-то тоже об этом подумал🤔, и сделал проверку внутри. Затем Андрей посмотрит, как Вася использовал твой метод, и сделает так же у себя👀. И всего этого можно было избежать, если бы ты написал буквально одну строчку✏️.
А это еще лайтовый вариант, представь, что ты ввел на аргумент какие-то ограничения, неочевидные снаружи🤯.

📯Как?

Пока этого не запросит HR или директор, даже не думай над документацией вне самого кода🙅‍♂️. Она нужна только если ты пишешь API или библиотеку или у вас команда быстро растет👍. Из старой же команды никто ее просто не будет читать добровольно🗝️.


Но как документировать в коде, комментариями, что-ли?
Да👍.

В C# это называется XML doc comment, в остальных JavaDoc или подобные💬.
Все это – форматы комментариев, которые позволяют описывать методы и классы в коде, чтобы IDE потом показывала эти подсказки💡. Почти все, что тебе нужно документировать умещается сюда: описание метода, параметров, ссылки на примеры использования, какие ошибки выкидывает и почему.


Вот ссылочка
для наших, остальные сами ищите🤭.

Выглядит это так:
    /// <summary>
/// This method does things.
/// </summary>
/// <returns>The value of <paramref name="arg"/> </returns>
/// <param name="arg">The argument to the method</param>
int Method(int arg) => arg;


📯Что?

В пункте 📯Зачем? я уже упомянул, что нужно документировать, теперь поподробнее📜:
1. Краткое описание – что за метод, о чем он🤔.
2. Детали параметров. Например, включаются ли крайние значения в диапазон🤔.
3. Возврат – что вообще значит этот Tuple<int, string, char>⬅️?
4. Список исключений и их условия🔴.
5. Примеры использования – да, их можно и так по коду найти, но здесь можно указать лучшие/важнейшие.
6. Прочее – то, что считаете реально важным для понимания🗑.

Исключением будет, конечно, то, что реально очевидно☀️: истинная цель документирования – позволить разработчику при взаимодействии с вашим методом не залезать в него и не разбираться, как он работает в деталях👨‍💻.


Вряд ли у вас будут вопросы по методу
int sum(int a, int b)


Все вышеописанное касается, естественно, только случаев работы над настоящим большим проектом😂. В жопогорящем стартапе🔥 у вас не будет времени не то, что документацию писать – фичи не все будут допилены. Но стараться все равно надо😉.


Кстати, если вы новичок, и вас посадили писать документацию, это плюс. Так документация становится лучше (синьеру "и так все понятно"), а джун быстрее вкатывается в продукт🛼.


✍️ – Документирую: пост прочитан, выводы не сделаны.
🤡 – Принципиально не документирую код, а то он станет понятным, и меня смогут уволить.
Please open Telegram to view this post
VIEW IN TELEGRAM
86💅2
В ЗДОРОВОМ ТЕЛЕ ЗДОРОВЫЙ НОЖ #2

Запела весна, а это значит, что шанс выгнать вас на улицу немного повышен🎉.
Но во мне самом из медицинского только шприцы и таблетки💊, так что этот цикл статей написан совместно с моей дорогой подругой❤️ физическим реабилитологом Судаковой Елизаветой 💉 – врачом, в котором почти в равной степени нуждаются программисты👨‍💻 и дети с врожденными патологиями🩼 (программистам нужнее)...

Оглавление:
Иди поспи, реально
• Спорт – сила, сычевание – могила📍
Держи осанку, ты же принцесса

📯Спорт – сила, сычевание – могила

Интенсивная физическая активность должна происходить не менее 3 раз в неделю. Не очень интенсивная (ходьба, зарядка) – каждый день☝️.


Это помогает тебе крепче спать💤, улучшает самочувствие✌️, облегчает повседневные задачи🪜 (подняться по лестнице или добежать до автобуса) и продлевает активную жизнь💪.

📯Спорт все хотят, не выдумывай

Всем людям в естественном порядке нравится спорт🏃‍♂️. Адреналины, эндорфины и все прочее🧬. Для того, чтобы сопротивляться ленивому энергосберегающему мозгу, в нас генетически заложено получать удовольствие от физических нагрузок❤️. И это касается всех без исключения, ты просто привык жить по-другому. Но, уверяю тебя, стоит немного перестроить свой быт, и ты начнешь радоваться спорту🥹.

📯Ахаха, ищи себя

Спорт есть разный. Не всем (даже мало кому) нравится просто бегать или тягать штангу🥱. Зато есть много других видов активности, и уж один из них тебе точно подойдет🤩.


Есть коньки и велосипед, есть бассейн, есть гребля🚣 (спортивная и туристическая), есть теннис🏓 (большой и настольный), есть танцы и лыжи💃, есть ориентирование, есть хайкинг🏕. В общем-то список можно продолжать очень долго📜, и все, что в нем (кроме киберспорта и литрбола), прибавит тебе 130-150 лет жизни👵. Даже если ты толстый вонючий любитель ДнД, попробуй ролевое фехтование🧝. Уверен, тебе понравится.

Войдя в комьюнити, ты не только получишь поддержку и советы по занятиям💬, но и заимеешь новое хобби (помогает от выгорания🔥), а также будешь развивать свои социальные навыки😝.


📯Вкатывание в спорт

Если ты только начинаешь, обязательно занимайся с инструктором👨‍🏫, который расскажет тебе, что можно, а что неможно🚭. Он поставит твою технику, составит план, предостережет от травм🩼 и немного посплетничает.


Если ты все же выбрал заниматься самостоятельно с помощью онлайн-программ или домашних тренировок, то внимательно следи за самочувствием👁‍🗨. И все-таки сначала хоть немного позанимайся в зале😂. Там тебе расскажут базу, какие вообще есть группы мышц и какие на них бывают упражнения✍️. А еще там страхуют и подсказывают🆘.

📯Постоянство – залог успеха

Спорт – это не стометровка, спорт – это марафон🏃. И тут важнее не результат за одну-две недели взрывной мотивации, а постоянство🚉.


Если ты будешь заниматься через силу, ты не добьешься лучших результатов. Потому что забьешь просто🏳️.

Выдели для себя несколько режимов активности и меняй их по настроению. У меня, например, так☺️:
1. 20-минутная йога🧘‍♀️ – когда мне плохо, и лень, и тяжесть бытия невыносима. Она не слишком активная, зато ее я могу делать почти в любом состоянии.

2. Бег + силовые🏃‍♂️ – стандартная нагрузка, бóльшую часть времени я делаю ее. Позволяет расти и развиваться, но требует сил и времени.

Список выше не является индивидуальной спортивной рекомендацией🙅‍♂️. Вам скорее всего не подойдет это, а подойдет что-то немного (или много) другое.

Но то, что вам нужно – это найти себе легкий вариант нагрузки для плохих дней🫁 и нормальный вариант нагрузки для хороших дней🫁. Возможно, разные варианты для каждого, чтобы менять когда надоест или добавить еще ступеней. А еще легкий вариант необходим после болезни, травмы, отпуска и вообще любого перерыва♻️.
Please open Telegram to view this post
VIEW IN TELEGRAM
📯Не забивай на свое тело

Человек – не мозг в баночке🧠. Личность составляет не только головной мозг, но и все тело🧍‍♂️. Не работает желудок –> мозг не получает питания –> высший разум весь скукоживается до "хочу кушац(("🪢.

Если взять шире, гормоны, напрямую влияющие на наше поведение, производятся во всех частях организма💼. А тот, кто не верит в силу гормонов, пусть спросит у товарища женщины – им досталось от природы разного👩.


Помни, что твой организм приспособлен гонять антилопу в саванне🐐, а не сидеть за комплюхтером👨‍💻. А вся ваша хваленая высшая нервная деятельность – лишь вариант приспособления к беганью за антилопой.

Слабая плоть питает разум, она же его родитель и воплощение, так что береги плоть💖. Сделай для нее что-то сегодня.



P.S. Если вы мужчина призывного возраста, в период призывной кампании ходите в зал на свой страх и риск🔫.

⬆️ В начало поста ⬆️

🤡 – Да, я качаюсь. На качели.
❤️ – Не знаю, что тяжелее: пожать соточку или прожить два дня до следующей статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
85💅211
451 ГРАДУС ПО KO1BA5ER'У

📯Книги, которые сделают тебя глупее

Пожалуйста, не читайте книг по программированию👎. Вас на курсах от Яндекса большему научат (хаха, научат на курсах😂).

📯Чернила на бумаге, мы что, в 18 веке?

Вопреки распространенному мнению, информация в книге📖 не всегда качественнее информации в интернете🌐.
Во-первых, что главное, книга пишется кучу времени, а публикуется еще дольше📖. Выйдет три новых версии языка, пока тебе этот кирпич только доставят🧱.
Во-вторых, книги пишут люди, а не ангелы👼. Да, у них есть редакторы и корректоры, но это не делает мнение писателей автоматически верным. Возьмите Капитал – вроде, и автор ученый немец, и тираж огромный, а все равно бред внутри😐.

📯Теория < практика

Язык , тем более, письменный – не самый легко усваиваемый материал📖. А лучший – практика🔨. Ведь из чего состоит работа программиста? Получаем задачу, пытаемся решить в лоб, определяем, чего нам не хватает, ищем информацию, решаем задачу👨‍💻. Книга же говорит: "Вот так ты можешь сделать это"🧑‍🏫. Но в настоящей работе, как назло, потребуется сделать чуть-чуть другое🙂. И ты все равно пойдешь смотреть ютуб документацию📄.

📯Архивы неполны

В IT есть огромное количество знаний🧠. Они не влезут ни в одну книгу, ни на одну полку, ни даже в целую домашнюю библиотеку📚. Не пугайтесь, это все не придется зубрить, но надо знать, как и где искать🔍. Точно не в книгах🙅‍♂️.

📯А как же...

Единственная книга, которую я разрешаю – это Clean Code Роберта <наше все> Мартина👍. И то, только как дань уважения, вообще-то, и ее читать не стоит😎.

🤡 – Я не умею читать.
🪕 – кНига – лучший подарок😂.
Please open Telegram to view this post
VIEW IN TELEGRAM
96💅21
ГАЙД ПО РЕАКЦИЯМ

Товарищи! Для того, чтобы вы могли точнее выразить свое впечатление от статьи, добавил еще больше кастомных реакций, даже пришлось запариться с созданием собственного пака. И, так как они все имеют неочевидное для обывателя назначение, в этом посте поясню, как этим пользоваться:

🤡 – Ну это просто, это когда вы считаете, что автор, хоть и волк, но в цирке выступает.
👌 – И так сойдет, тут тоже несложно.
🩼 – Костыль, если решение, упомянутое в статье, временное, "уродливое" и используется для обхода проблемы, требующей более сложного и долгосрочного исправления.
😀 – Реакция для Майнкрафта и для 🗿.
🎸 – Когда душа поет или нужно сказать ЯРУССКИЙ.
😐 – Пиксельный Ленин, означает коммунизм или небольшой шок.
🦖 – Динозаврик из моего проекта по нейросетям. Используется для указания на глупость нейросетей, автора или кого-то еще.
🗿 – Жаренные окурки. Значит все, и одновременно ничего не значит. Делайте с этим что хотите.
Please open Telegram to view this post
VIEW IN TELEGRAM
1042🤔1💅11
В ЗДОРОВОМ ТЕЛЕ ЗДОРОВЫЙ НОЖ #3

Запела весна, а это значит, что шанс выгнать вас на улицу немного повышен🎉.
Но во мне самом из медицинского только шприцы и таблетки💊, так что этот цикл статей написан совместно с моей дорогой подругой❤️ физическим реабилитологом Судаковой Елизаветой 💉 – врачом, в котором почти в равной степени нуждаются программисты👨‍💻 и дети с врожденными патологиями🩼 (программистам нужнее)...

Оглавление:
Иди поспи, реально
Спорт – сила, сычевание – могила
• Держи осанку, ты же принцесса
📍

📯Держи осанку, ты же принцесса

Сидячий образ жизни ведет к вполне однозначным последствиям, и все они давно изучены👨‍⚕️: гиподинамия, кривая спина и повышенные риски многих заболеваний💀.

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

📯Делай это упражнение три раза в день, и спина болеть не будет

И так, четыре непростых шага, которые не сделают вас полностью здоровым, но хоть немного отсрочат ваше превращение в шахматного коня:

1. Следи за осанкой.
Твоя спина должна быть прямая все время♾️. Сиди прямо, ходи прямо, спи в планке💪. Сначала будет тяжело, зато потом будет совсем чуть-чуть полегче👍.


Я когда начал следить за осанкой, моя спина после трех часов уже изнывала от боли😫. А сейчас, по прошествии нескольких месяцев, я могу сидеть прямо целых шесть часов, и даже не заплакать😭! Это дело не быстрое, и растянется на многие месяцы. Но, выработав привычку, ты сможешь держать осанку практически без усилий, и оно того стоит🥇!

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

2. Перерывы с разминкой.
Каждые 30-60 минут ты обязан делать короткий перерыв на разминку🔋. Подрыгай руками и ногами в разные стороны, убедись, что твои суставы еще не заржавели🕸.


Важно регулярно напоминать своему организму о том, что он все еще мягкий и подвижный🤸, иначе он легко об этом забывает😶‍🌫️. Здесь нужно покрутить шеей, свести лопатки, поднять руки к небу и проклясть его за 5/2🏃‍♂️. Также важно дать отдохнуть глазам: отвести их от монитора, посмотреть близко-далеко, ну вы знаете👁.

3. Спорт.
Подробно уже говорили в прошлой статье, здесь добавлю, что спорт хорошо бы направить на спину и/или растяжку💪. То есть, плавание, йога, воркаут, вот это все🏊‍♂️.


Конечно, полезной будет любая двигательная активность, но выбирая определенные ее виды, мы сможем убить двух зайцев одновременно🐇: и от гиподинамии спастись🏃‍♂️, и спину выпрямить📏.

4. Массаж.
Это не только приятно, но и единственное, что по-настоящему расслабит зажатые мышцы😌. А зажатые мышцы – это твоя главная проблема❗️.


Да, это даже хуже, чем кофе на коровьем молоке вместо миндального☕️. По-сути, твои мышцы так напряженно удерживают спину в согнутом положении, что уже не могут расслабиться🥵. Для того, чтобы это исправить, требуется сначала их размять🛤, а потом заставить работать в правильном направлении🔙. Только, ходить нужно к специалисту, а не в дрочильни спа-салоны🧖. Да, удовольствие не из дешевых, но тут же все айтишники с зп $300к/наносекунду – переживете💰.

📯Почему это важно?

Как стержень, держащий все тело💀, спина влияет на все, и проблемы с ней тебе точно не нужны🙅‍♂️. Так что, если будешь придерживаться рекомендаций, в старости тебе придется меньше времени тратить на очереди в поликлинике🏥, а значит больше времени ты сможешь отдавать сидению на лавке и ругани в ЖЭКе👵.

Люби свое тело, и оно ответит тебе взаимностью🍃.

🔝 В начало поста 🔝

😭 – Я уже хожу буквой Г(((
👌 – Йа криветко🦐! главное, чтоб к пиву не зохавали...
Please open Telegram to view this post
VIEW IN TELEGRAM
7💅3🔥1😭11
This media is not supported in your browser
VIEW IN TELEGRAM
🍓31
Корова чешется, спасибо за внимание
4🔥1🍓1
ЗАБУДЬТЕ GRASP

Хочу с вами открыть разговор про паттерны проектирования с такого любимого дедами👨‍🦳 набора как GRASP.

📯Это что за покемон?

Во-первых, что, вашу мать, такое этот ваш GRASP🤷‍♀️? Википедия пишет:
— шаблоны ПО для назначения главных ответственностей

, однако это просто неправда🤥!

Чтобы вы составили представление, вот типичные "паттерны" GRASP📜:
– Низкое зацепление⛓️‍💥 – ну это, короче, когда подпрограммы/модули слабо связаны друг с другом.
– Высокая связность🧶 – это когда в одном модуле содержится только то, что непосредственно с ним связано.
– Полиморфизм🐏 – Нет, ну это уже ни в какие ворота...

Ну вы поняли, это больше похоже на жизненные советы от пьяного бати🍷, чем ясные☀️ паттерны, которые вообще хоть что-то означают🤨.

📯Цель была упростить программирование

Я до этого GRASP не смотрел внимательно, а так, издалека посмеивался👉. Но для статьи должен был вникнуть👩‍🎓. И мне пришлось вникать🧐... То есть, вместо 5 минут, я потратил около часа на прочтение нескольких статей📖, выяснил, что каждая о чем-то своем, добрался до первоисточника, и наконец разобрался💡. И результат не то, чтобы стоил усилий.

Там никакой мудрости предков😺, никакого космического озарения🧘, только немного воды💦 и сложносочиненный пятикратно переваренный SOLID😅.


📯О чем на самом деле GRASP

В книге Крейга Лармана «Применение UML и шаблонов проектирования», где они впервые появились, прямым текстом об этом написано🫳:
Что такое шаблоны GRASP?
– Это шаблоны, описывающие фундаментальные принципы распределения обязанностей между объектами.


Уберите отсюда совершенно не к месту использованное слово "шаблоны"🚜, и станет ясно, что хотел сказать автор🤔:
Сейчас я вас научу распихивать отношения между классами на основании их ответственностей.


Если прочитать главу целиком📖, дополнительно откроется, что уважаемый учитель👨‍🏫 пытается объяснить, как так из предметной области🚢 нарисовать красивую UML-диаграмму 🚤, чтобы потом, может быть, это спрограммировать🛳️.

Резюмируя📦, GRASP – список принципов, имеющих довольно узкую сферу применения🤏, и неоправданно сложных для понимания🧐.


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

🤡 – Я репер, я умею только грррясп.
👌 – Нельзя забыть то, чего не знал.
Please open Telegram to view this post
VIEW IN TELEGRAM
72💅1
Вот и закончился мой отпуск в солнечной Карелии☀️
Болота радостно встретили бесконечными комарами и неожиданно хорошей погодой (обещали дождь на все эти дни)🪷
Но как только появился интернет, на душе как кошки заскребли😩.. и вдруг я осознал, что хорошо понимаю, тех людей, которые сбегают из IT и открывают свою пасеку🐝...

Темой сегодняшней статьи могло быть выгорание🔥, но вместо того, чтобы ее писать я решил позволить себе отдохнуть😁.
И вы тоже отдыхайте почаще🏖️.

А спросить подробнее, как там Карелия, вы можете на
📱 стриме по Майнкрафту, уже онлайн 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73211
MVVM – ОТДЕЛЯЕМ МОРДУ ОТ ТЕЛА

Обплевав GRASP, давайте теперь поговорим о настоящих паттернах.

📯Model-View-ViewModel

– шаблон, разделяющий программу на три части:
Model – бизнес-логика🏭;
View – графический интерфейс🖼;
ViewModel – мостик между ними🌉.


Таким образом, мы разделяем проект на два независимых друг от друга модуля: картинку и данные. А между ними для сообщения кидаем мостик в виде ViewModel.

📯Где его можно использовать?

Да практически в любом приложении с графикой💅. Ведь он позволяет:
Во-первых, работать независимо дизайнерам👨‍🎨 (возможно, даже без кода) и программистам👨‍💻.
Во-вторых, легко перенести часть или всю модель на другую платформу🚉. То-есть, при резком изменении интерфейса программы, нам не придется переделывать ее всю, а только View🧠.

Также этот шаблон позволяет цеплять несколько интерфейсов к одним данным🪝 (заходить Вконтактик с компьютера и телефона): в вебе и мультиплеерных играх🌐 MVVM "включен" по-умолчанию, потому что там сервер⌨️ и морда😐 (бэкенд и фронтенд) выполняются на разных машинах🚗.

📯Расширяем сознание

Конкретно наш паттерн в узком смысле строго привязан📍 к платформам WPF и Silverlight (даже не гуглите, что это), потому что использует их механизм привязки данных🧶. Однако в такой трактовке было бы мало смысла его тут разбирать🤡.

Но стоит заменить "конкретный механизм привязки" на "любой механизм привязки", и дело становится намного интереснее😳. Тогда нам будет безразлично, как именно организован ViewModel: хоть этим самым биндингом, хоть Observer'ом, хоть вручную🫳.


📯Семья MVVM

Вообще-то, придумать, как разделить картинку и данные пытались уже давно👵, и у MVVM есть два (не очень удачных) старших брата👨‍👨‍👦:

1. MVC – Model-View-Controller:
Контроллер изменяет модель, а модель изменяет вид♻️. Такой вот любовный треугольник получается❤️. На мой взгляд, тут два минуса: неполное разделение модели и вида🔪, а также лишнее разделение ввода📥 и вывода📤.

2. MVP – Model-View-Presenter:
Presenter управляет как View, так и Model. Здесь тот же MVVM, но промежуточное звено не просто адаптер, а управляющий элемент👑. Соответственно, Model – превращается в DTO с небольшим количеством логики📦.

⬇️ Пишите в комментариях, какие еще паттерны стоит разобрать! 💬

🤡 – О да, моя программа прямо модель, и у нее такие виды🫦
🎸 – Классы MVC такие:
"Я кондуктор, я кондуктор,
Люди для меня как фрукты"
Please open Telegram to view this post
VIEW IN TELEGRAM
44🔥1💅1
Wild Russian GameDev Mentor
ВАЙБ-КОДИНГ ИЛИ ПОЧЕМУ ИИ НЕ СДЕЛАЕТ ИГРУ МЕЧТЫ ЗА ВАС Когда-то давно я пояснял за уровни языков программирования и упомянул там, что т.н. Zero-coding0️⃣ – мертворожденное направление💀. И вот недавно всплыла💩 очередная вершина человеческой лени и жадности…
Помните пост про вайбкодинг🤔?
Теория теорией, но давайте на практике посмотрим, на что способен современный искусственный интеллект🤖: попробуем навайбкодить себе простую игру и посчитаем, сколько критических багов в ней окажется😂!
📱 Конечно, в прямом эфире на твиче 📱,
так что вы можете в этом поучаствовать!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥211
ОСЬ ИЗМЕНЕНИЙ (НА КОТОРОЙ Я ВЕРТЕЛ ВАШ SRP)

Во многих статьях я уже упоминал ее вскользь👀, пришло время поговорить подробнее об этом явлении💬.

📯Ось изменений

– это линия, проходящая через модуль/класс, когда его необходимо затронуть🫴 для внесении того или иного изменения.


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

📯Зачем она нужна?

Если вкратце, то для измерения соответствия SRP📐, но и не только. Ведь если у нас через модуль проходит единственная ось изменений, то у нас есть единственная причина его менять – значит, он имеет только одну ответственность🧠.

На практике, кончено, такого никто добиваться не будет😂. Однако больше 2-3 осей на модуль свидетельствуют о том, что вам лучше встать на кухню, ведь вместо кода получается лапша🍜.


📯В смысле 2-3, написано же SINGLE responsibility?!

Понимаешь ли, дело в том, что всем немного насрать...
На самом деле, есть разница еще в размере класса🤏, а так же в связности этих изменений.

Первое просто: если модуль небольшой и позволяет держать его весь в голове одновременно🤔, можно пока что не думать о его разделении👌.
Второе говорит о вероятности затронуть две оси вместе👋. Например, когда мы меняем способ формирования данных👩‍💻, мы наверняка захотим изменить и их вывод🖼. В большинстве случаев.


Да, MVVM идет в жопу с таким подходом, однако.. а оно нам правда всегда нужно🤔? Как итог, я никогда не разделяю логику счета каких-то мелочей и их отрисовку🤟.

📯Не плодите классы

Давайте немного изменим определение:
Ось изменений – это линия, проходящая через модули/классы, которые необходимо затронуть🫴 для внесении того или иного изменения.


Таким образом, как шашлык на шампур🍢 мы насаживаем всех, кто касается нашего обновления🆕. И их тоже не должно быть слишком много. Иначе ты очень скоро запутаешься, что на чем завязано🧐, и сам утонешь в своем же болоте🐸.

🤡 – В моем коде нет лишних ответственностей, потому что я писал его безответственно😂.
👌 – В мой код не нужно вносить изменения, он и так идеален!
Please open Telegram to view this post
VIEW IN TELEGRAM
533💅2