Роман Сакутин
103K subscribers
1.35K photos
140 videos
18 files
733 links
Основатель студии разработки игр Агава и школы ЯЮниор. Настоящий программист с опытом 10+ лет.

Служба поддержки школы - @ijuniorSupportBot

Я - @rsakutin

РКН - https://www.gosuslugi.ru/snet/67d8231025b58f3d79091b83
Download Telegram
Читаю Егора, пока полёт нормальный.

Elegant Objects 1.1:

Абсолютная логичная аргументация и хорошие примеры. На первый взгляд действительно отказ от -er суффиксов в названиях классов это логичный шаг который многие не замечали.

Мы давно идём от процедурного программирования но почему-то продолжаем называть классы как процедуры. Я постараюсь примеры из книги переводить на C# и GameDev.

Полностью эта глава раскрывается если осознать роль Конструкции (Factoring & Entry Point) объекта в программе.

Например у нас есть юнит и он атакует других юнитов в области видимости. Юниту как-то надо этих противников искать и мы это вынесем в класс EnemiesFinder.

Всё правильно?

Нет, по Егору будет правильней идти не через does (что делает) а is-a (кем является). И это часть большого плана осмысления объектов и что объект - это про поле ответственности в котором он может самостоятельно принимать решения.

В таком случае класс будет называться не EnemiesFinder (does) а EnemiesInSight (is-a). Не искатель противников, а найденные противники. Куда же денется стратегия отсечения всех противников по взгляду юнита? Это вопрос следующих глав.

Ещё примеры из главы:
TextEncoder - EncodedText
TextValidator - ValidText

Это всё круто работает когда мы избавляем от обобщённых EnemyHandler, GameManager, StateController, и наверное этот совет без проблем улучшит 95% названий. Что делать с остальными мне пока не понятно.

Основной вопрос после прочтения конечно простой: Если у меня есть валидированный текст, то кто его валидировал? И я думаю это я знаю дальше при раскрытие темы правильной конструкции объекта.

*Disclaimer: Я пытаюсь обдумать концепцию step-by-step и вероятно в следующих главах я пойму новые детали которые сильно всё поменяют*
👍2
Ищу Game Designer

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

Задачи:
1) Создание концептов HyperCasual проектов
2) Проработка идей для Casual и Mid Core проектов с созданием полноценных дизайн документов
3) Контроль разработки, корректировка программистов и артистов
4) Анализ воронки креативов, метрик и развитие проектов

Условия:
1) Удалёнка или офис в центре Питера
2) Вилка ЗП от 1000$ до 3000$, но всё обсуждаемо
3) Бонусы за KPI
4) Rev-Share
5) Поможем выстроить команду под вас

Портфолио присылайте на почту - @rsakutin

Также рассмотрим джунов и совсем начинающих если есть большое стремление развиваться в этой теме.
👍2
Регулярно мне пишут разработчики который уже и год и два ковыряются в Unity.


Но всё никак не могут устроится на работу, и мы конечно же их не берём.

Вот всё хорошо, и проекты вроде работают и код есть.
Но в мелочях всё очень грустно.

Где-то Code Style не соблюдается, где-то используется то, что вообще не прилично использовать.

И вроде не смертельно, но в совокупности это даёт специалиста которого брать не стоит.

Думаю сделать курс "Допилка", недельки за две где буду превращать уже пишущих игры программистов в профи которых с руками оторвут.

Было бы интересно такое?
👍2
Херово дела с работой? Программируете уже год но не можете её найти?


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

Из-за этих мелочей мы их не берём как и 99% студий.
Приходите 15-го числа на стрим где я напильником подрехтую ваши навыки.

За 2 часа пошаманю с вашей башкой и техническими навыками а также дам план развития. Если хотите залететь в нормальную студию на хорошую ЗП то присутствие обязательно.

На стрим нужно зарегистрироваться здесь - napilnik-first.minisite.ai
👍2
Smalltalk (Pharo) полная ерунда, полностью разочаровался. Сложилось ощущение, что весь дизайн языка завязан на "шоб читалось как обычный текст". Толку от этого с гулькин член и более важные проблемы так и не решены. Код всё ещё чистая процедурщина с налётом попытки проектировать объекты "как в реальном мире". Разбили процедуры по пакетам и протоколам и сидят довольно рычат.
👍2
Там ХаудиХо со Skillfactory опять кидают людей.

Один заявляется про профессиональное обучение за 1 час а вторые продают курс по Unity в котором большую часть материала записал человек который не работал ни дня Unity разработчиком, о чём признался мне в личном общение.

Я реально говорю, курс по Unity от Skillfactory это ёбаный ад и цирк с конями.
👍2
ХаудиХо пишет, что если пытаться оскорблять его код аргументировано, то ничего ни у кого не выйдет.

Тыкаю в рандомное место нового видоса.

Вижу это.

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

Не позорься.
👍2
Проблема же не в том, что у Хауди код плохой.

Он делает развлекательный контент, он может делать как хочет.

Если вы любитель вы можете в рамках своего хобби делать как хотите и чувствуйте себя хорошо. И даже можете это показывать.

Но Хауди уверен что код у него хороший.

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

Он действительно уверен что он пишет хоть и не ужасно, но нормально.

А фактически там уровень дошкольной группы яселек «Ромашка».
👍2
Уже завтра буду выступать на тему: "Как стать хорошим программистом?"

Я не займу много времени и постараюсь успеть за 45 минут. В первую очередь вы услышите правду, жесткую, но правду.

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

Если вы не только смелые но и готовы к работе, то в результате вы станите тем самым успешным разработчиком с зарплатой 300к в секунду.

Зарегистрируйтесь чтобы попасть на прямой эфир - https://napilnik-first.minisite.ai/
👍2
Тут в комментариях опять понабежали ребята с советами, что если я буду не только критиковать но и показывать реализацию по лучше, то будет круто.


Напомню что я так делаю с первого видео.

Карта:

1) Обзор: "Программист круче Cакутина и берёт в 5 раз меньше Ревью его кода!"
1.1) Перепись: "Переписываем код программиста круче Сакутина в 5 раз"

3) Обзор: "Заказал скрипт для Unity у четырёх разных программистов и смотрю их код"
3.1) Перепись: "Переделываю скрипты в Unity после фрилансеров"

4) "3 разных реализации одной и той же задачи в Unity на C#" - отдельное видео с разбором конкретной ситуации и различных решений.

5) Обзор: "Говнокурс по Unity? Углублённый курс по разработке игр от UnityStudy"
5.1) Перепись: "Переписал C# код "учителя" за 2 часа"

6) "Даже с таким кодом можно побеждать. Детские ошибки!" - внутри есть точечная перепись.

7) Обзор: "Гоша Дударь опять лезет к нам в реп | Обзор кода C# и Unity"
7.1) Перепись: "Переписал игру Гоши Дударя на Unity | Она стала в 10 раз лучше!"

8) "Ужасный код на C# и WPF - Гоша Дударь опять в телеке
" - перепись и обзор в одном видео.

9) "Заказал УЖАСНЫЙ код у фрилансера за 500 рублей. Unity + C# рефакторинг" - перепись и обзор в одном видео.

10) "Обзор треш-кода программиста с Авито | Подписчики унизили мой код | Оптимизировал игру в 3 раза!
" - перепись и обзор в одном видео.

Рубрика код-патруль. Полностью сосредотачиваемся на переписи кода:

11) "Переписываем ИИ на Unity и другой дикий говнокод | КодПатруль #1"
12) "Говнокод из популярной игры, частая ошибка и криптостойкие алгоритмы в C# и Unity | КодПатруль #2"
13) "YandereDev один из худших проектов на Unity и C# что я видел | КодПатруль #3"
14) "Переписываю код подписчиков, рефакторинг от профессионала | КодПатруль #4 | C# и Unity"

Рубрика Unity Best Practices. Разбираем отдельные мелкие проблемы:

15) "Как работать с полями? Зачем _ и SerializeField? / Unity Best Practices #1"
16) "Пиши методы как профессионал в Unity / Unity Best Practices #2"
17) "Убейте менеджеров, контроллеры и системы. Декомпозиция компонентов в Unity / Unity Best Practices #3"
👍2
Очень рад что такая выдающаяся личность как Абрахам упомянула меня.

Без шуток.

Ну пишет код как дурак какой-то, ну ничего страшного.

Не собак же еб*т, уже хорошо.

Приходите завтра на бесплатный семинар от меня, расскажу за искусство и как быть нормальным разработчиком - https://napilnik-first.minisite.ai/
👍2
Нам в штате не хватает 20 человек, моим партнёрам нужно ещё около 140 программистов.

Помимо этого мне каждый день пишут новые компании которым нужно пару человек.

И после этого вы говорите, что на рынке нет вакансий?

Мы джунам Unity + C# даём от 56 000 рублей в месяц, некоторые компании готовы стартовать оффер от 70 000.

Так почему вы не можете найти работу?

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

Но он не соответствует стандартам и написан ПЛОХО.

Реально плохо.

И если вас не берут на работу, то признайтесь уже что вы ПЛОХОЙ программист.

Если хотите стать хороши, то добро пожаловать на мой новый курс "Напильник" в нём я вас за месяц превращу из плохого программиста в хорошего и помогу найти работу с достойной стартовой ЗП.

Сейчас действует скидка в 30% для моей аудитории и старых клиентов, с 22-го числа начнутся общие продажи и цена поднимется.

Успейте записаться - https://ijunior.ru/napilnik?utm_source=telega&utm_medium=social&utm_campaign=promo01
👍2
Регулярно задаёте один и тот же вопрос, на который я уже устал отвечать.

Зачем _ в названии переменных?

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

Можете обвинять меня в снобизме, но на том же собеседовании вас будут оценивать такие же снобы, и в ВАШИХ интересах им понравиться и получить хороший оффер.

Не компании нужно, вам нужно.

Да, они могут упустить хорошего специалиста, но пострадаете вы, и вы будете безработным дураком с самомнением размером с дом.

Поэтому в ВАШИХ интересах соблюдать общепринятые правила, иначе вы будете как слон в посудной лавке, который неправильно оценивает свой размер и громит всё вокруг.

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

Ну и собственно _ закреплён в стандартах CoreFx. Если вы попали в такую студию, то делайте так, как принято у них. Но это ошибка связанна с двумя вещами:

1) Большая часть примеров кода на Unity не следует стандарту CoreFx и написана слабыми разработчиками;
2) Есть старая редакция Microsoft Design Guidline, которая ранее рекомендовала не использовать _ при именовании приватных полей.

В новых рекомендациях от Microsoft рекомендуется использовать _.

Например, редакция за 2008 год содержит (General Naming Conventions ): "Use camel casing ("camelCasing") when naming private or internal fields, and prefix them with _."

А уже за 2021 (C# Coding Conventions): "Use camel casing ("camelCasing") when naming private or internal fields, and prefix them with _."

Но если мне не изменяет память, то исправления входили в рекомендации уже с года так 2011-го. Да и вообще первая не про C# вовсе.

Если интересно могу рассказать почему приняли использовать _

Про другие фишки профессионального кода вы можете узнать из моего курса "Напильник" где всего за месяц я превращу вас в профессиональные программисты - https://ijunior.ru/napilnik?utm_source=telega&utm_medium=social&utm_campaign=promo02
👍2
Печально то, что происходит с XYZ.

Меня тоже раз в пару месяцев посещает мысль: "А давайте ещё пару направлений откроем?". Но я отказываюсь, сейчас у нас хорошо одно направление и один флагманский курс. Ещё два маленьких.

Это позволяет тонко всё контролировать и на 100% выполнять обещания.

Да это трудно превратить в большую историю, но зато на руках у меня один хороший курс в котором я уверен.

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

Раньше любил эту компанию но после того, как ушёл её основатель и основной состав преподавателей можно ставить на ней крест.

Goodnight, sweet prince
👍2