10 советов от Senior для начинающих программистов

  Переглядів 83,895

Роман Сакутин

Роман Сакутин

День тому

Об этом не пишут в странных статьях на развлекательных порталах по этому если хочешь стать хорошим разработчиком обязательно смотри видео. #айти #программист #код
Речь не только про C#, Unity и GameDev.
Обучение разработке игр с нуля с гарантией трудоустройства - ijunior.ru/unity-start?...
МОЯ КНИГА - csharpbook.sakutin.ru
Я В VK - rsakutin
INSTA - / sakutinhuytin
ЯЮниор:
Группа - holymonkey_sandbox
ЧАТ В ТЕЛЕГЕ - t.me/csharp_faggots_fan_club
Discord - / discord
Таймкоды:
00:00 - Введение
02:00 - Совет 0. Язык программирование херня
04:46 - Совет 1. Ты обманешь сам себя
06:39 - Совет 2. Плохой код объективно
08:23 - Совет 3. Самый банальный
10:24 - Совет 4. Самый избитый
12:00 - Совет 5. Береги маргаритку смолоду
13:45 - Совет 6. За что вам набьют лицо
15:39 - Совет 7. Паттерны вас не спасут
18:05 - Совет 8. Компот

КОМЕНТАРІ: 335
@nooftube2541
@nooftube2541 2 роки тому
"Если вы не понимаете GRASP, паттерны вас не спасут." GRASP - General Responsibility Assignment Software PATTERNS
@lolmaster7459
@lolmaster7459 2 роки тому
Хорошие советы. Четвёртый год учусь, но все ещё ощущение, что до джуна не дотягиваю - балдёж
@walson4708
@walson4708 2 роки тому
Да, такое же ощущение, 4 года варюсь в этом говне, на первый год обучения был экспоненциальный рост, потом стагнация, потом упадок. Сейчас я ниже уровня первого года, вообще не знаю, что делать.
@const1988
@const1988 2 роки тому
@@walson4708 как такое может быть? Ты нашел работу?
@walson4708
@walson4708 2 роки тому
@@const1988 Привет, нет, мало того, я попал в армию :с. Но ничего, осталось 51 день, пока был в армии удалось наладить контакт с 2 паблишерами (хоть что-то для начала), и собрать небольшую команду: Я: отвечаю за геймдизайн, документацию, архитектурную часть и игровую аналитику(с ней пока плохо) 2 3D artist'a - один больше шарит по окружениям, умеет работать по тз, в срокам и по пайплайну. Второй - любитель, но за него поручился первый. Sound designer - много лет пишет эмбиенты и не только, есть своя студия звукозаписи. С художниками проблема пока, хотя бы по интерфейсам найти. Для HK сегмента такой шарашкиной конторы хватит за глаза, единственное, когда на волю выйду, поищу второго программиста.
@ruslanowlysadykov1558
@ruslanowlysadykov1558 2 роки тому
@@walson4708 имхо пробовать в инди геймдев без опыта работы в проф. команде - заведомо провальный план. Лучше устрой себе марафон тестовых заданий и разбора их ошибок, устройся джуном в тот же HK, посмотри как изнутри что работает и потом уже если захочешь рискнуть - пойдешь в инди. да и зачем такая команда, больше 90% HK игр не юзают уникальные звуки, их просто покупают с хостингов. с модельками тоже самое, быстрее и дешевле купить ассет, чем заставлять работать 3дшника, при том что никаких гарантий нет, возможно ваш видос не пройдет CTR тест и вся работа зря.
@Tokarevbest
@Tokarevbest 2 роки тому
Говорят джуном за полгода можно стать.
@user-ib6dk9gz7n
@user-ib6dk9gz7n 2 роки тому
"комментарии это костыль" - комментарии это инструмент и в определенных ситуациях очень полезный. Может в играх это не так важно, но в крупных корпоративных проектах случаи когда залазиешь в какую-нибудь entity (\dto\poco), видишь ее поля и не можешь быстро понять а зачем они именно нужны (бизнес-смысл) - ситуация не редкая. И искать все ссылки на нее чтобы перечитать весь код или искать документацию в конфлюенсе, конечно, вариант, но это боль. Код это в первую очередь алгоритм и передача бизнес-контекста это лишь его побочная функция. Вкратце: если над некоторыми вещами вы будете оставлять комменты со ссылкой на документацию\таску, то коллеги вас будут любить
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
Нет такой вещи которую нельзя декомпозировать даже в этом случае, но людям лень, и по сути они и допускают комментарии потому что им лень, и кстати, дто считается плохой идеей, Active Objects лучше делать, но тут 100% речь про легаси
@user-km9iv6he7c
@user-km9iv6he7c Рік тому
@@user-oh5jk6kf4x как будто нет никаких других причин, чтобы оставлять комментарии. Я покупаю скрипты у программистов и в коде ориентируюсь плохо. Комментарии мне помогают понимать как быстро сделать то-то и то-то. Точно так же я оставляю комментарии в сервисах, где строю блоки без кода. Потому что я то всё понимаю. А туда может зайти заказчик, проджект, помощник чей-нибудь. И им придётся вызывать меня из-за какой-то мелочи, которую они могли бы решить и разобраться сами, если бы там были комментарии.
@user-oh5jk6kf4x
@user-oh5jk6kf4x Рік тому
@@user-km9iv6he7c вообще это тема того, что до меня недавно дошло. Создание объектной модели это достаточно эвристический процесс, иерархичность модели и контракт объектов позволяет делать очень понятным всё что происходит в коде и достаточно исчерпывающим, только за счёт того что человеку проще составить аналогию из реального мира для того что он читает в коде. У меня вот проект стратегии есть, есть понятия "Кусок карты", "Прямоугольник выделения куска карты", "Стоимость куска карты", так и названы классы, кусок карты агрегирует стоимость куска карты и прямоугольник выделения. Из этого простого примера мы уже знаем где искать функциональность в рамках этих понятий. Мы можем просто утилити классы создать под детали реализации этих функциональностей, если ты немного в математике шаришь то в принципе будешь приватные методы называть математическими именами, офигенно а? И дело в том, что всё это для более сложных систем тоже работает, только нужно к построению модели отнестись серьезнее а не на ходу придумывать. А в ситуации где хочется сделать человекопонимаемые модули реализации объекта в модели можно пользоваться MV паттернами, вообще всё предельно просто становится. В ситуации где ты не пишешь с нуля систему а допиливаешь что то в крупной это не значит что ты не можешь пользоваться приёмами построения объектной модели и не придумать подходящее имя для куска кода что ты пишешь
@user-oh5jk6kf4x
@user-oh5jk6kf4x Рік тому
@@user-km9iv6he7c на самом деле да, если куча авторов кода и как то всё надо связывать то по идее да то это нереально без комментариев, но это та самая ситуация где по идее проект только для первой версии в основном чтоли
@dmitrikonnov922
@dmitrikonnov922 Рік тому
Я считаю, что комментарии должны быть написаны строго по стандартам. В библиотечных классах и утилитах каждый публичные метод должен иметь стандартизованный комментарий. Мы же все любим, когда идешечка нам говорит, что метод делает, какие параметры принимает, что возвращает, какие исключения кидает. И ещё примерчики. Но вот комментирвание отдельных строк кода - это ебанина, только если мы не используем какие-то магические значения. Ну и комментирование не по стандарту - это бесполезное комментирование.
@mdvulfix
@mdvulfix 2 роки тому
Отличные советы, спасибо! Очень много почерпнул из твоих предыдущих видео. Продолжай в том же духе!)
@hematogen50g
@hematogen50g 2 роки тому
И ты продолжай изучать и программировать. practice makes perfect.
@Kot-Alenya
@Kot-Alenya 2 роки тому
Правильный код - это идеальный баланс его красоты , удобства , надёжности и производительности.
@vatyunga
@vatyunga 2 роки тому
Первые 3 пункта это одно и то же, четвёртый пункт можно смело игнорировать в пользу первых трёх (тот же system.linq).
@bratttn
@bratttn Рік тому
чушь! правильный код, это код в котором разберётся и добавит новую фичу, тот, кто его не писал.
@imalllio
@imalllio 10 місяців тому
​@@bratttnчушь! Правильный код это тот, который пушистый, вибрирующий, теплый и мяукающий!
@vladislavvorzhev2375
@vladislavvorzhev2375 2 роки тому
Много спорного, но насчет комментариев - можно открыть практически любой серьезный open source проект, и увидеть, что там в каждом файле есть комментарии с пояснениями. Хотя с утверждением о том, что хороший код - это самодокументируемый код, поспорить сложно.
@cimweed18
@cimweed18 2 роки тому
Мне нравится комментировать методы. Если кто-то считает это моветоном, пусть закроет глазки.
@cimweed18
@cimweed18 2 роки тому
@@lekretka да у меня вообще проблемы с этим. Поэтому не работаю в компаниях
@user-dd1di2fv6i
@user-dd1di2fv6i 2 роки тому
@@alexandr_sirota ну да ну да. А бизнес ведь очень заинтересован, чтобы новички хер разгребли существующий код.
@user-zq1fx8fq1u
@user-zq1fx8fq1u 2 роки тому
Когда выстраиваешь баланс во вселенной,обычно не до веселья,но это хе-хе-хе веский повод для улыбки
@Fedorlesorub
@Fedorlesorub 2 роки тому
СуперДжун в очень большой компании, мне даже не дают писать код)) Больше верстка лц) Ноо, все советы сто проц рабочие, я прямо видел их реализацию у нас) Очень полезный видос, про реально важные вещи, спасибо!)
@behappianstudio3576
@behappianstudio3576 2 роки тому
Опять добрый Рома! Выздоравливай))
@assetslambekov2449
@assetslambekov2449 2 роки тому
Самый объективный it блогер) Все по делу сказал, респект
@stanislavsh6582
@stanislavsh6582 2 роки тому
Уже относительно размышлений о том что язык просто маленькая деталька возникают вопросы. Ну как. Мы можем много вещей делать на плюсах. Плюсы - великолепный язык. Но сможет ли человек который знает, допустим, шарп - въехать за неделю в проект на плюсах которому 10 лет, если этот человек - мидл-разработчик, который работал n лет с шарпом, а плюсы последний раз видел на лабах в вузе? А наоборот? Да нет. Нужно же знать не только язык и общие вещи, типа структур данных, алгоритмов, паттернов, нужно понимать модель памяти, как считаются ссылки, как в разных языках реализована работа с потоками, плюс минимально историю знать. Вот допустим в шарпе - есть Interlocked, в C++98 - не было как-то вынесено в стандарт многопоточное программирование и в итоге - кто как мог, так и делал, плюс в одних компиляторах i++ - потокобезопасно выполняется, у других - нет, у третьих - зависит. Я это к чему. К тому что специфики много и ее нужно знать для того чтобы не стрелять себе в колено. И ведь такие баги ты не на этапе компиляции поймаешь и даже тестами так просто не покроешь Ладно, смотрим дальше. Относительно стандартов и говнокода. Это вообще с какой-то стороны странная фигня началась. Ну как, при чем тут стандарты и прочее? Если я не использую '_' в именовании полей - теперь весь тот код внезапно стал говнокодом? А в остальном стандарты - нихрена не говорят. Они говорят как мы струкрурируем проект, как именуем что-то, сколько пробелов нужно вместо таба использовать и как оформать комментарии. Чисто по стандартам шарпа - я могу вполне взять и копипастнуть весь текст документа прямо в исходный код, вместо того чтобы из ресурсов его получать, в итоге - читать это будет невозможно, но все еще стандарты не нарушены. Получаем ситуацию - говнокод есть, стандарт не нарушен. Это к чему. К тому что говнокод, в привычном смысле: Оно делает то что от него хотят, но трогать это - не хочется. Все. Стандарты и объективность это сбоку стоит таки. Да, про опытных разработчиков. Вот есть офис дедов что на си с 2001 года пишут. Опытные? Да офигеть какие. Я прихожу красивый-молодой, пишу на шарпе, они теперь тоже. Но они - привыкли экономить на спичках, плюс им сама концепция ООП неприятна, хотя они и пишут на шарпе. Я делаю классы, делаю тесты, они хреначат статикой, а на тесты кладут болт(зачем тесты, если такие есть отдел QA? пусть они и тестируют). Если я позову их и попрошу отревьюить мой код - он для них будет говнокодом, как и их код для меня, потому что с одной стороны - процедурное программирование, с другой ООП и мы не сойдемся во мнении, по их логике - все эти SOLID - придумали евреии чтоб русских программистов дурачить и заставлять писать больше кода. А кто тут прав-то? Они опытны и при этом им не нравится ООП, я тоже не вчера кодить начал но мне сам подход ООПшный сразу вкатил. А сбоку стоит адепт функциональщины и рассказывает про лямбда-исчисление и что грядет страшный суд, на котором все кто не придут к функциональщине - будут наказаны. С остальным в принципе согласен. Да. Вот. Да.
@RGcrasyRG
@RGcrasyRG 2 роки тому
Мне, например, дико не впирает концепция ООП когда классы перестают отображать объекты реально мира. А вот функциональщина доставляет: пишешь функцию, она делает одно. Хочешь усложнить? Используешь функцию, которая использует функцию... и т.д. Жаль только в энтерпрайзе нужна джава\шарпы, а не хаскелл с растом.
@RGcrasyRG
@RGcrasyRG 2 роки тому
@@flexxxxer ну если это про кучу синтаксического сахара, который позволяет использовать ПОДХОД фп в том же си шарпе - то это немножечко не то. Тот же синтаксис хаскела для меня кажется лаконичным и прекрасеным.
@user-dd1di2fv6i
@user-dd1di2fv6i 2 роки тому
Кроме того, по конкретному языку надо знать фреймворки, стандартную библиотеку, доп.библиотеки. Понятно, что автор имел в виду, но все же, язык - не мелкая деталька.
@ArquitectoR
@ArquitectoR Рік тому
Правильно всё пишете. Есть похожие ЯП, но есть и очень разные. Есть разные парадигмы, разные типизации, разные подходы к конкурентности и к метапрограммированию. Пока вы со всем этим разберётесь вы уже больше десятка ЯП будете знать. Ну или не захотите а это погружаться, застрянете на уровне миддла и пойдёте учить желающих войти в IT 😂
@user-fs7sy9pf4n
@user-fs7sy9pf4n 2 роки тому
Начал изучать язык C и уже написал свою доту2. Решил посмотреть для себя 10 советов, а он тут про какое-то ООП рассказывает почти все советы. Удовлетворён
@user-rp6bi5qj1n
@user-rp6bi5qj1n 2 роки тому
А где обучился на C ???? И сколько заняло обучение по времени???
@ricardomilos857
@ricardomilos857 2 роки тому
@@user-rp6bi5qj1n интернет...
@user-rp6bi5qj1n
@user-rp6bi5qj1n 2 роки тому
@@ricardomilos857 а можешь скинуть ссылки для обучения
@ricardomilos857
@ricardomilos857 2 роки тому
@@user-rp6bi5qj1n а какая разница язык си это или паскаль? учи не язык, а направление в программировании
@user-rp6bi5qj1n
@user-rp6bi5qj1n 2 роки тому
@@ricardomilos857 Просто для полного нуля в программировании разницы нет что учить вопрос в том что востребованей и реально устроиться на работу в компанию
@omegakrakengames
@omegakrakengames 2 роки тому
Очень хороший и важный комментарий для продвижения видео
@limestoneMinecraft
@limestoneMinecraft 2 роки тому
7:19 А зачем вообще для подтверждения тезиса об объективности говнокода нужно апеллировать к "объективным стандартам", принятым на каком-то волшебном великом соборе, мнению толпы "профессиональных" разработчиков и т.д., если это все не объективные критерии? Мнение собора - не объективно, мнение людей с большой татуировкой "Профессиональный разработчик" на пузе - не объективно. Почему бы просто не сказать, что критерием качества кода является предоставляемая им возможность поддерживать его с наименьшей затратой ресурсов, в частности времени? Например, когда в этом коде нужно разбираться людям, его не писавшим, либо самому автору кода после длительного перерыва в работе с ним. Как человека согласного с позицией об объективности критериев качества кода меня крайне смущает отсутствие аргументов в её защиту в словах Романа при наличии в них лишь апелляции к авторитетам.
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
Падажи падажи, недавно вышел пост в сообществе, о том что статика это здорово и тип какие то глобальные функции это супер
@bomb5994
@bomb5994 2 роки тому
Недавно была серия постов с троллингом
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
@@bomb5994 уже понел
@kirillsviderski4739
@kirillsviderski4739 2 роки тому
"Никто не пишет большие классы". Рома, после этого я не плачу, мне просто сорцы анриала в глаз попали ХД
@vatyunga
@vatyunga 2 роки тому
стандартный керектер контроллер на 3к строк кода)
@sergeyinozemcev1070
@sergeyinozemcev1070 2 роки тому
И статиков тоже достаточно, но я согласен с автором. Unreal - это плохой код.
@tyoma_yashin
@tyoma_yashin 2 роки тому
Фростбайт с оберткой графического апи в 25к строк в одном файле в статике передает привет) Но да, для начала все-таки нужно знать правила, чтобы их красиво нарушать
@user-tm5hi7xs3i
@user-tm5hi7xs3i 2 роки тому
класс view в андроиде с 30к строк: я для вас шутка что ли?
@Neon30
@Neon30 2 роки тому
аж слеза покатилась
@user-fm8to6cc1q
@user-fm8to6cc1q 3 місяці тому
Я недавно стал джуном и пишу П.О на c++ и qml в основном. И вот например в qml , мне кажется комментарии бывают просто необходимы, в qml нередка ситуация , когда ты 1 элемент запихнул в другой элемент и его в третий, а это всё лежит ещё в каком-нибудь verticalLayout там столько фигурных скобок, что путаешься , что к чему относится поэтому я в их начале и конце пишу комментарий. Например: //начало Button, //конец Button.
@cotulars
@cotulars 2 роки тому
Привет, знаю что не ответишь но всё же... За сколько я могу получить от тебя кодревью(ну т.е. оценку кода) на яве?) Ну просто покупать курс по шарпу для меня дороговато, а ревью от тебя увидеть хочется...
@user-bz2dj2gb7w
@user-bz2dj2gb7w 2 роки тому
Интересно и главное правильно рассказываешь. Философски сильная позиция у тебя. Критикуешь - предлагаешь. Строишь основу на личном опыте. т.е. на том в чём сам уверен. Я сам долгое время интересуюсь психологией и философией. Само анализ и философия миро воздания. Я плох в грамматике так как с детства намеренно не связывал себя ни с какой сферой деятельности пока сам не пойму чего я хочу. Я не уделял времени для приобретения знаний в ораторском искусстве и приобретал не большой опыт в этом направлении(В социуме иначе не получается). Так вот, я веду к тому, что спустя 32 года (После того как я уделял всё время в основном для ориентирования на местности, для ПОНИМАНИЯ мира в котором я начал свою жизнь) я пришёл к тому что разработка игр, это единственная среда которая роднится с моими уже приобретёнными навыками. Психология - работа с сознанием людей через продукт. Философия - логические взаимосвязи. Я не увидел ни одной перспективной среды где я могу применить те знания которые я приобрёл и испытать себя. У меня нет денег на платное обучение, я за ближайший год работая на заводе по сборке шторок для автомобилей, накопил на слабенький компьютер. Я обязательно выучу язык программирования! Это единственная не достающая деталь к моему успеху в плане для осознания и доказательства себе того что я не зря проводил время своей жизни. Так вот. Я это к тому что среди всех тех блогеров что я видел, ты единственный кто схож со мной по типажу и кого я легко понимаю как себя. Я хочу также довести этот навык до искусства и надеюсь что в дальнейшем мы с тобой встретимся как конкуренты. В споре рождается истина!)
@jet4904
@jet4904 Рік тому
Подлизал так подлизал
@karpovantonio
@karpovantonio Рік тому
ну че шиз, выучил? или все шторки собираешь?
@johnyelasto
@johnyelasto Рік тому
Шиз 🥹
@nooftube2541
@nooftube2541 2 роки тому
Ну все таки комменты иногда нужны, только они должны описывать не происходящие а причину существования этого кода, и не всегда это можно зарефакторить так что бы это было самодокументирование. Например соответствие какому нибудь рфс. Да и к тому же в реальной жизни куча легаси зачустую дурно пахнущего, который рефакторить нет возможности и постфактумные комменты очень спасают.
@mrklebold4480
@mrklebold4480 2 роки тому
Совет 6 к разработке ПО (бекенда) на Java тоже применим?
@user-lt7rn4of7y
@user-lt7rn4of7y 2 роки тому
Подпишусь под каждым словом! Так и нужно учить джунов - выкручивать настройки до максима, запретить статик, запретить толстые классы и методы, запретить произвольный нейминг - и в бой. Слушайте что вам старший товарищ говорит.
@jv_en_py3667
@jv_en_py3667 Рік тому
Роман разлогинься
@Hafune
@Hafune 2 роки тому
Cтатику можно если объект не содержит состояния. Всякие там Math например.
@hematogen50g
@hematogen50g 2 роки тому
Воистину, но думаю тут Рома имел ввиду статику, которую маслятки юзают для совершенно низменных целей.
@rsakutin
@rsakutin 2 роки тому
>объект >без состояния Понимаю
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
Ну я успел всех заебать с Бугаенко, но там одно из первых в Elegant Objects это лучше раскрывается, операцию например в виде статического метода желательно заменять на объект содержащий результат операции через свойство типа Value, и всякие Math были реализованы без оглядки на это, однако со своим кодом лучше уж сделать как выше описал
@Hafune
@Hafune 2 роки тому
@@rsakutin ещё бы примеры почему нельзя то и то, насчёт статики думаю хороший пример -> сделать перезапуск игры(без выключения клиента конечно). Вот тут то статика и покажет себя.
@PunkBASSter
@PunkBASSter 2 роки тому
Мельком в видосе упоминалось про GRASP, а я хочу для себя уточнить, насколько оно практически полезно? Т.е. я понимаю и использую ООП и СОЛИД, но не особо понимаю бенефитов от ГРАСП, не мог бы кто-нибудь объяснить?)
@LordZiegfrid
@LordZiegfrid 2 роки тому
Солид оттуда вытекает, единая обязанность из информейшан экспер например
@xezdx
@xezdx 2 роки тому
Смысл как обычно в том, чтобы сделать программу поддерживаемой. Чем меньше запутанность, тем лучше. Но мне эти принципы не нравятся, потому что задачи бывают очень разные и принимать решение об ответственности кто управляет, а кто управляемый, приходится всякий раз руководствуюсь более сложными аргументами, чем там описаны. По мне так самое главное это KISS - Keep it simple, stupid. Если вызовов слишком много, если параметров в методе слишком много, если метод слишком длинный, если в классе слишком много методов, если зависимостей много и т.д. то скорее всего этот код делает слишком много разных вещей и их можно разбить. Не факт, но "скорее всего".
@TedFanat
@TedFanat 2 роки тому
Соман Ракутин как всегда правду матку рубит, хуярит! Так держать!
@Sergey.Aleksandrovich.P-37rus
@Sergey.Aleksandrovich.P-37rus 2 роки тому
Пздц как рубит) советы годные... Хоть я и на Java пилю, но всегда чем то цепляет Ромыч.... 🤔
@alexh1904
@alexh1904 Рік тому
Насчёт удаления кода: Да. Часто так бывает, я бы даже сказал в 99% случаев, когда алгоритм пишется с большим трудом. И потом и потом, может даже через несколько дней, ты в этой же программе пишешь какой-то следующий алгоритм попроще, и его сигнатура перекликается с тем сложным алгоритмом и ты видишь решение более эффективное для предыдущей задачи. Тогда да, переписываешь первый алгоритм удаляя предыдущий. Но нужно помнить о следующих моментах: 1) не изобретай велосипед. 2) оставляй лучший код удаляя говно 3) При использовании чужого кода, внимательно изучай чужой код, быть может твой окажется лучше.
@kilinar2239
@kilinar2239 2 роки тому
Угу, еще скажите, что библиотека с математическими функциями или класс с константами должны быть объектами (не сама библиотека, конечно, а только содержащиеся в ней классы). Теоретически, могут, конечно, да и я ошибаться могу, так как опыта пока не так уж и много (хотя в разбираемом коде статики встречаются), но на мой взгляд - это просто еще один инструмент, как та же рефлексия, которые могут отходить от чистого ООП, но в определенных случаях позволяют заметно облегчить код программы.
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
Разницы особо не будет, если заменить такой статический метод на объект который представляет результат операции
@ProkerKusaka
@ProkerKusaka 2 роки тому
90% игр со статичным гейм менеджером приуныли
@_Rinzler_
@_Rinzler_ 2 роки тому
100%
@kilinar2239
@kilinar2239 2 роки тому
@@_Rinzler_ Не 100 точно, может 99.99, я обычно через Синглтон пишу - да, да - поражайтесь глубине моего падения - антипаттерн и все такое. Но на мой взгляд он тут уместен.
@vatyunga
@vatyunga 2 роки тому
@@kilinar2239 не уместен. di спасёт мир.
@kilinar2239
@kilinar2239 2 роки тому
@@vatyunga Интересно, пока не совсем понятно, буду разбираться. Спасибо.
@Diyozen
@Diyozen 2 роки тому
@@vatyunga совет охуенный. Особенно, учитывая, что DI, зачастую - это тот же самый синглтон. Ещё и какие-то надмозги нашли остроумным внедрять зависимости прямо в поля.
@user-uv4df1ob5p
@user-uv4df1ob5p 2 роки тому
Да... Декомпозиция конечно для меня это беда. Постоянно пишу монструозные классы, надо бы попинать себя уже и порубить в паре проектов их по уму)
@hematogen50g
@hematogen50g 2 роки тому
Главное не ленится. начни с малого - сначала один метод напиши, самый простой. и т.д.
@vatyunga
@vatyunga 2 роки тому
Хороший совет выше дали, сначала разделите один большой метод на маленькие, а там дальше уже само пойдёт.
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
Тупо попробуй начать думать о том, как ты можешь делить функциональность на модули
@vanyasotnikoff6024
@vanyasotnikoff6024 2 роки тому
Насчет комментов не все так просто. Нельзя так категорично рассуждать. Например, комментариями можно выражать ценные сведения в двух словах, которые по коду сразу не увидишь. Это экономит время. Не всегда код можно переписать идеально. В жизни бывают разные ситуации и предостерегающие комменты в таких случаях очень кстати. И т.п.
@MrFalaban
@MrFalaban 2 роки тому
Как же проектирование, Роман? Я думаю важно уметь продумать задачу перед началом
@jasondoesnotexist1244
@jasondoesnotexist1244 Рік тому
согласен
@vanyasotnikoff6024
@vanyasotnikoff6024 2 роки тому
Я бы дал самый главный совет - не воспринимайте советы как руководство к действию. Потому что разные программисты решают разные задачи и у каждого формируется свое видение. Более того, мышление у людей не одинаковое. Не нужно искать серебрянную пулю. Все как в жизни, не все однозначно. Хотя с опытом вы найдете свои ответы. Опять все как в любой другой деятельности, все приходит с опытом.
@darkproject8068
@darkproject8068 2 роки тому
Если декомпозировать задачу слишком долго, она перестанет существовать (с) Умный дядька
@afterjourney4304
@afterjourney4304 2 роки тому
Про статик очень спорно, та же архитектура Unity или UE с кучей static методов в классах. Мы ведь не скажем что там код говно, верно?) Да и программисты я думаю, там на порядок компетентны в вопросе проектирования. Если программист яростно бомбит на статик, то у него ООП головного мозга.
@user-cx1vt1kp1j
@user-cx1vt1kp1j 2 роки тому
Первые версии Unity писали не опытные студенты. И Весь говнокод, который тянется с тех лет там живёт до сих пор. Если бы Unity был хорошо написан, то его бы явно не хотели бы переписывать в Untity 5 в 201 году и сейчас перtход на новую архитектуру на основе DOTS
@afterjourney4304
@afterjourney4304 2 роки тому
@@user-cx1vt1kp1j Эта архитектура отличается от ООП, поэтому речь о статик в априори бессмысленна, по крайне мере, пока не узнаем детали реализации DOTS
@eugene-white-shark
@eugene-white-shark 2 роки тому
@@lekretka Индусы поумнее многих русских.
@grayhouse6925
@grayhouse6925 2 роки тому
@@user-cx1vt1kp1j вы енамами пользуетесь? Или утил классами типа Math? )) всегда, когба говорят что статики плохо- задаю эти 2 вопроса)
@Digildon
@Digildon 2 роки тому
13:47 Синглтоны не нужны?
@hakari_
@hakari_ 2 роки тому
А быстропечатание обязательно? Просто я могу достаточно быстро печатать юыстро переводя взгляд с клавиатуры на экран или просто не смотря на экран.
@ikao3834
@ikao3834 2 роки тому
Нет. Можно написать 1000 строк говнокода быстро, а можно это же сжать в пару понятных всем строк, просто подумав над грамотной реализацией.
@user-iw1ty8sk1v
@user-iw1ty8sk1v 2 роки тому
Намного увеличивает продуктивность (нет проблем "накатал простыню не в той раскладке и с опечатками") и улучшает здоровье (постоянно бегающий туда-сюда взгляд еще быстрее сажает зрение и быстрее вызывает утомляемость).
@ikao3834
@ikao3834 2 роки тому
@@user-iw1ty8sk1v покажи пример где ты пишешь быстро нормальный код
@user-oj4rl4ck2o
@user-oj4rl4ck2o 2 роки тому
Слепая печать очень удобная штука, советую научиться. 30 минут в день на сайте с упражнениями, и уже через неделю будет получаться, а дальше уже само пойдет
@SergeySvotin
@SergeySvotin 6 місяців тому
10:57 не совсем согласен, в большинстве случаев, конечно, так, но, когда случается, что необходимо написать скрипт на js в проекте на java, то даже нейминг не очень помогает, потому что, по сути, твой код раскидан по трем разным файлам: java код, js-код и коннектор, в котором может быть определена некоторая js-функция-коллбжк. Я стараюсь код на не основном для проекта языке максимально комментировать (кроме того, что я пояснения в МР делаю), иначе придет следующий разработчик на основном языке, он это просто не поймет. Но пишу я, конечно, не столько, ЧТО делает код, сколько ЗАЧЕМ
@user-pq7dj1ny4h
@user-pq7dj1ny4h 2 роки тому
Сама команда Майкрософт внедрила в VS2019 подсказку. Звучит примерно так: "Метод не обращается к членам экземпляра. Можно пометить, как static."
@evon2543
@evon2543 2 роки тому
А потом, когда нужно будет обратиться, то внезапно пол-проекта придётся переписывать.
@user-pq7dj1ny4h
@user-pq7dj1ny4h 2 роки тому
@@evon2543 уже нельзя. Будет нарушен принцип открыт / закрыт. Нельзя модифицировать метод. Пиши новый метод или метод расширения.
@user-sd7me1my1x
@user-sd7me1my1x 2 роки тому
Когда Роман начал говорить "просто напомню" сразу промотал на две минуты вперёд
@user-nh1lp8xt4j
@user-nh1lp8xt4j 2 роки тому
А если у класса будет метод который будет общий для всех его экземпляров то что вызывать его у каждого экземпляра или сделать его статическим?
@headhuntez
@headhuntez Рік тому
спасибо за инфу. а как же статические методы расширения? например public static void WriteLine(this T message) => Console.WriteLine(message); public static T RandomElement(this IEnumerable elements) => elements.ElementAt(Random.Shared.Next(0, elements.Count()));
@zaironslaysert5159
@zaironslaysert5159 Рік тому
Статические методы это когда обращение идет напрямую ? А тут указывалось про то что все ходы должны быть расписаны что зачем запускает открывается ? то есть коде расписать полную цепочку действий от а до я а не прямое действие сразу с начала в конец Я просто ничего не понимаю в этом и решил спросить правильно ли я понял XD
@headhuntez
@headhuntez Рік тому
@@zaironslaysert5159 да обращаешься не к екземпляру а к типу DateTime.DaysInMonth(2023, 1)
@lkghost7
@lkghost7 2 роки тому
интересно, а синглтон у вас можно ?)
@sergeyinozemcev1070
@sergeyinozemcev1070 2 роки тому
Все стандартные контейнеры в std - это гигантские простыни, к слову.
@ikao3834
@ikao3834 2 роки тому
Это легаси.
@EdwardNorthwind
@EdwardNorthwind 2 роки тому
Мог бы и оставить в описании или закрепленном комментарии название книг, которые рекомендовал по ходу видео, чтобы не приходилось выискивать или повторно просматривать ролик...
@kodomo5490
@kodomo5490 2 роки тому
Роман, если в программе есть класс с методами вроде "сохранить информацию в файл"/"загрузить информацию из файла", такой класс тоже нельзя делать статическим?
@rsakutin
@rsakutin 2 роки тому
Вы процедурно мыслите
@excommunicado2932
@excommunicado2932 2 роки тому
Почему не сделать некий объект типа File с методом .Save( ) / .SaveTo(path) ? И, например, объект типа Document с методом .Content( ). Будет: а) более поддерживаемо (как минимум можно задекорировать (паттерн декоратор) каждый объект б) все необходимое инкапсулируется в объект и нет необходимости руками "передавать" данные от одной процедуры/функции к другой в) интерфейс IDocument (/ абстрактный класс в крайнем случае) даст полиморфизм и, например, DI. к примеру сделать класс для асинхронного чтения данных с тем же типом IDocument г) никакой связанности между функциями, которые вы хотите создать, не будет. у каждого класса своя ответственность. То, что вы хотите создать, это не ООП, а библиотека процедур как в языке С. д) отдельный класс (имхо) проще тестировать.
@hematogen50g
@hematogen50g 2 роки тому
Можно сделать статические методы в динамическом классе. Будет куда более ООПэшненько.
@excommunicado2932
@excommunicado2932 2 роки тому
@@hematogen50g не соглашусь, в ООП вообще ключевое слово "static" лишнее. И использовать его бы следовало в крайнем случае только. Например, сильная нужда в производительности, так как создание объекта в куче, естественно, дороже. Но по важности (имхо) перформанс < качество кода (в смысле основной задачи разработчика)
@hematogen50g
@hematogen50g 2 роки тому
@@excommunicado2932 То есть методы из классов типа Math это исключения из правил. По факту они статические, но их юзают в ООП и норм.
@my_noname_channel
@my_noname_channel Рік тому
Поверю, что static - это плохо-плохо-плохо-недопустимо, когда встречу фреймворк, который не требует использовать свои статик-классы/методы, чтобы вообще хоть что-нибудь сделать. А если Майкрософт не смог написать без статиков, то сложно требовать того же от каждого первого программиста.
@Cefalet
@Cefalet 2 роки тому
Роман, вы говорите, что static новичкам использовать нельзя совсем никак и никогда, потому то это нарушает граф объектов и новички должны учиться пробрасывать зависимости и всё такое... Но как, например, насчёт перегрузки операторов? Для объявления перегрузки оператора нужно написать и public и static в одном месте. Неужели и перегрузка операторов - это плохо?
@ArquitectoR
@ArquitectoR Рік тому
Ну такое, перегружать операторы надо очень аккуратно. Джунам лучше в эту сторону не думать.
@grayhouse6925
@grayhouse6925 2 роки тому
В целом верно и вещи правильные. Но с двумя моментами я не согласшусь. 1. Комменты нужны. Но нормальные. Над классом, над методами(функциями) зачем, (иногба почему именно такой подход). 1 строка обычно для хорошей функции достаточна если функция нормальная. Для чего нужно? Банально новый разработчик вкатится гораздо быстрее, какой бы код хороший небыл. Или для генерации вики например. Это важно, когда проект реально большой, когда ты даже можешь не знать бОльшую часть комманды. Как говорится, код пишут для людей 2. Статик классы. Тоже поспорю. Есть минимум 2 типа статик , которые оправданы в программе. Наборы Констант и утил классы. Первые - эт в подавляющем большинстве енамы (внезапно по сути - это набор элементов, доступных статически). По утил классам типа Math и т.п зачем создавать много экземпляров? А если сингтон, то тогда какой смысл пихать его в конструктор или получать инстанс статически? Оправдано будет делать такие вещи не статик, если у тебя есть контракт (интерфейс) и несколько реализаций. Тогда конечно, интерфейс в конструктор, твой класс работает с контрактом, а реализацию уже инжектишь нужную. А в остальном лайк, в люьом случае полезно
@user-ll2nu2dk4b
@user-ll2nu2dk4b 2 роки тому
👍👍👍
@user-zb2qb9lo6m
@user-zb2qb9lo6m 2 роки тому
А как данные между сценами передавать, если без статика.
@dreamy6096
@dreamy6096 2 роки тому
Если комментарии зло, то зачем они в каждом ЯП'е?
@lnovus
@lnovus 2 роки тому
Комментарии должны предупреждать о подводных камнях в коде, иногда объяснять "почему выбран именно этот способ решения задачи", что, как правило, уместно для промышленного кода. Например, проблемы могут быть в сторонних библиотеках, а отправить pull request разработчику и дождаться выхода следующей стабильной версии не всем подходит. Также для сложных алгоритмов, автоматизации инженерных задач и т.п., будет очень наивно полагать, что другие разрабы целиком и полностью понимают работу того, что вы делаете. Да, возможно, код с комментариями - "плохой код", но в Java и Python (возможно также на Си или в ассемблер-кодах) - это зачастую бывает вынужденным злом.
@user-dd1di2fv6i
@user-dd1di2fv6i 2 роки тому
Код с комментариями - хороший код. Просто комментарии должны объяснять не что делает код (из хорошего кода это должно быть понятно), а зачем.
@ArquitectoR
@ArquitectoR Рік тому
@@user-dd1di2fv6i именно так, автор похоже сам ни разу в разработке какого-нибудь крупного проекта не участвовал. Если он только казуалки на Юнити пишет командой 2-3 программиста + дизайнеры, то ему может и не нужны комментарии. В простых проектах всё сильно проще.
@yatsuk_vitalii
@yatsuk_vitalii 2 роки тому
Я извиняюсь, вопрос джуна, а как без статики обращаться к методу трёхмерного шума перлина, который нужен почти всюду?
@iamdozerq
@iamdozerq 2 роки тому
Речь идет не о классе math, который статический на 100%, а о твоих собственных сущностях. Когда делаешь математику там все на 100% функциональщина. Я расчеты по учебе автоматизировал много - там ооп негде применить, а самое главное не за чем.
@yatsuk_vitalii
@yatsuk_vitalii 2 роки тому
@@iamdozerq Спасибо
@easycodeunity3d14
@easycodeunity3d14 2 роки тому
Да да, статика это плохо потому что из любого места в коде позволяет получить доступ к функционалу одного класса который сгрупирован по смыслу и предоставляет через паблик модификатор только некоторые методы или свойства типа как SDK а Dependency Injection который вцелом к любому функционалу позволяет получить доступ откуда угодно это хорошо, да, все понятно, едем дальше.
@xezdx
@xezdx 2 роки тому
Статик не поэтому плохо. Думаю много есть аргументов в пользу и против. Я использую только тогда когда эти методы ничего не меняют и являются чистыми функциями. Но если они начинают хранить состояния тут уже появляется проблема их инициализации, очистки и т.п. Один из минусов юнити - ПОЧТИ ВО ВСЕХ мануалах рассказывается как юнити порождает объекты и любой программист задается вопросом "а как потом объект найти, получить доступ к нему, обратиться к или от него к ядру игры" и получается что статика самый простой способ сделать это. Но это вовсе не значит что это хорошо, это так архитектура юните сделана. Меня лично бомбит от того что про архитектуру игры сложнее прыгающего болванчика нигде не рассказывают, чтобы не иметь этих проблем, можно только мельком увидеть в каких-то проектах сцены типа init со стартовыми скриптами и поставив на паузу пытаться рассмотреть.
@user-xz5jt3wt8s
@user-xz5jt3wt8s 2 роки тому
Вообще, по Троелсону, статику выгодно использовать для обслуживающих классов.
@dippe2261
@dippe2261 2 роки тому
Привет Рома! У меня возник вопрос, вот что мне делать? Я учусь в универе, щас на втором курсе, но программировать не умею. Если дают задание, то всегда прихожу к тому что ищу ответ в инете, а сам ничего не могу сделать. Может быть ты сможешь что-то посоветовать, чтобы я смог понять алгоритмы и ваще как писать. А то всегда я понимал что если хочу стать программистом то надо учить язык программирование, но в итоге язык знаю, а программировать нет.
@twojger8242
@twojger8242 2 роки тому
Практика, дружище. Если не можешь решить простую задачу, то надо как следует практиковать базу языка, решая лёгкие задачки, вникая в работу циклов, массивов, переменных и т.д. Медленно, но верно, все пойдет. Главное терпение и усидчивость. Студенту не должно составить проблем. Есть желание - получишь результат
@markhabaevv5770
@markhabaevv5770 2 роки тому
Стоит ли практиковаться на сайтах типа Leetcode, иль стоит пробовать сфокусироваться на любительских проектах?
@KALMAPUK
@KALMAPUK Рік тому
И так и так правильно.
@user-qw6xi9pr5d
@user-qw6xi9pr5d Рік тому
Насчёт статики очень спорное мнение. Плохи не сами статические классы как таковые, а статические классы, которые обладают стейтом, т.к. по сути такой стейт - глобальная переменная. Если у тебя есть чистая функция, которая стейт не мутирует, сделать её статической вполне нормально. Ну и так как в C# не возможны свободные функции, не принадлежащие никакому классу, несколько таких общих для всего проекта функции собираются в статик класс. С другой стороны, если функция достаточна простая и не дублируется её удобнее будет как анонимную лямбду оформить
@SergeySvotin
@SergeySvotin 6 місяців тому
7:25 таким людям легко объяснить: говнокод объективен, потому что само преятие "говнокод" - это не значит, что у тебя есть несколько ошибок в коде, это значит, что бОльшая часть твоего кода состоит из ошибок. Если у тебя парочка неточностей, говнокодом не общовут, просто пометят для исправления и примут потом, а вот если у тебя вообще все неправильною настолько, что вычленить что-то полезное - тяжелая задача, то вот это уже говнокод. Лучше стереть все и написать заново
@LordZiegfrid
@LordZiegfrid 2 роки тому
Чувак, приватный статический метод это норма. Смысл таскать this там где он не нужен - нету, приватная статика часть реализации и все норм внедряется.
@vovanchik_ru4208
@vovanchik_ru4208 Рік тому
а как же экстеншены со статикой?
@hematogen50g
@hematogen50g 2 роки тому
По мне так главное, чтобы вашими прогами пользовались. Тогда от этого есть смысл, а иначе ваше прогерство сродни артхаусу.
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
1. В ситуации если программа зайдет и ее будут юзать, ну или инвесторы заплатят, то придется все переписывать, потому шо прототип был упрощен и расширять или дорабатывать его в будущем от проблематично до невозможно 2. В ситуации если ваш прототип не понравился, мы теряем все говно что написали, написали бы грамотно, части можно было бы выделить в библиотеку и использовать повторно
@hematogen50g
@hematogen50g 2 роки тому
@@user-oh5jk6kf4x Обожаю ютуб. Можно получать ответы на свои вопросы.
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
@@hematogen50g тогда стак оверфлоу получше будет
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
@@hematogen50g для примера, ААА или относительно сложный проект нельзя делать плохо, есть баланс между стоимостью разработки "через жопу" и разработкой хорошо, разработка хорошо потенциально стоит больше по некоторым причинам, и сложность проекта может сделать переделку плохого прототипного варианта более дорогой чем изначальное написание хорошего варианта, да и совместная работа заставляет писатт хорошо
@MrGourmetRazzy
@MrGourmetRazzy Рік тому
14:10 "Нельзя пройти ревью, если есть код с модификатором static" Тем временем: *static* void Main(string[] args) *YOU SHALL NOT PASS!!!*
@oldborodach
@oldborodach 2 роки тому
Что в начале все же нужно изучать С# или сам движок Unity? 🤯 А то один одно другой другое мнения разнятся. Кстати и почему? Короче совет нужен и по литературе и нужна ли она вообще в начале?
@yt78455
@yt78455 2 роки тому
Я тоже сейчас учу, тоже прям начинаю. Пока что остановился на мысли что больше больше практики и без остановок на раздумий как можно было сделать лучше. Я и так половину терминов в роликах не понимаю, типа зачем тогда заморачиваться ? Я пока по одному курсу буду, потом, может, аналогичный для полноты картины пройду. А уже после либо настоящую практику на настоящих проектах либо добавить к ней уже книги по тонкостям и узким темам
@oldborodach
@oldborodach 2 роки тому
@@yt78455 согласен, но интересно знать мнение экспертов!
@yt78455
@yt78455 2 роки тому
@@oldborodach пни, если тебе ответит кто-нибудь компетентный, тоже интересно
@oldborodach
@oldborodach 2 роки тому
@@yt78455 оставь контакт для связи скину кое что!
@ProkerKusaka
@ProkerKusaka 2 роки тому
Начинать с базы с#, не углубленно пока, потом пройти любой курс по юнити, можно тот же unity learn, первое нужно для понимания второго. Когда будет хотябы минимальная база, обязательно нужно начать свой проект (любой). И по ходу дела, когда не знаешь что и как делается просто гугли (на английском конечно же, больше профита) В прохождении полных курсов от "именитых школ" нет смысла, за частую они учат конкретным вещам, которые вероятнее всего и не пригодятся даже, либо быдлокод. Не стоит на первых порах задумываться о чистоте кода, его не будет в ввиду малого опыта. Со временем, придет понимание где у тебя плохой код, появятся новые знания языка и алгоритмов которые дадут возможность искать новые темы для повышения умений. И так вот по чуть чуть, проект за проектом придет понимание как все устроено и работает. Не гонитесь за результами в первые же месяцы, это не быстрый процесс И самое главное, в программировании сколько людей, столько и мнений, всегда найдется человек, который скажет что твой код воняет) Так что не пытайтесь овладеть всей теорией сразу, это бессмысленно
@-urdy
@-urdy 2 роки тому
👾
@Vander0_0
@Vander0_0 2 роки тому
Как ты начинал учить программирование ?
@ggfycest4571
@ggfycest4571 2 роки тому
Запретить статические классы?? А математические методы куда вынесешь??
@babush6
@babush6 2 роки тому
для него такие сложные вопросы это сложно
@vladyan01
@vladyan01 2 роки тому
Сегодня впервые скачал юнити, до этого на другом движке работал. И методом тыка сделать кнопку UI и текст, и сделал по нажатию кнопки прибавление +1 в тексте, и создал АПК для теста на тлф. Вопрос: какого хрена АПК файл весит 18 мб, должен с таким функционалом 1-2 мб весить же. Я ахринел какой багаж юнити впихивает.
@ra7even903
@ra7even903 2 роки тому
такую херню высрал. ты видимо ещё ни разу с xamarin не работал
@alexanderalexander1637
@alexanderalexander1637 2 роки тому
мы наблюдаем рождение и становление Великого Инквизитора C#
@SeempleIQ
@SeempleIQ Рік тому
Про статик вообще не понял тебя. Тот же DI статик, DI который пробрасывает завимиости, тоже являются статик. Статик работает в эдиторе, почему я не могу библиотеку локализации делать статической, если у меня есть кейс, сгодогенрировать view допустим импортирую из figma и мне нужно локализовать все тексты и проверить есть ли такой ключ, внутри эдитора, как бы ты решил это без статика?
@TestSub1000
@TestSub1000 2 роки тому
Крутой канал, первый раз попал на тебя. даже непонятно, цыган ты или право имеешь 🤣🤣
@ikao3834
@ikao3834 2 роки тому
Не используйте "static", а как же к примеру методы расширения существующих типов?
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
Можно кнеш, методы расширения семантически относятся к расширяемому классу, да и название такого статического класса вроде чаще всего понятно
@SergeySvotin
@SergeySvotin 6 місяців тому
7:25 тут даже не суть в том, что скажуттслучайные 10 "опытных" разработчиков, паттерны проектирования, например, вырабатывались десятки лет, методом проб и ошибок, глупо надеяться, что ты один такой у мамы умный, что 30 лет развития перечеркнешь. На ЯП пишут спецификации, с некоторыми пунктами можно спорить, но суть-то в том, что программистов много, если каждый будет писать по-своему - хрен вы что соберете, поэтому и нужен стандарт, кто-то его должен продумать. Логично, что стандарты ЯП придумывают авторы ЯП, уж они-то точно разбираются в тонкостях своего языка
@xelax3613
@xelax3613 2 роки тому
блин придется удалять static void main
@user-io3nb5ve4v
@user-io3nb5ve4v 2 роки тому
чего у парня в видео шея обосцана?
@user-sb7mb5yn7g
@user-sb7mb5yn7g 2 роки тому
Привет, я сейчас учусь в школе и мне интересно что нужно знать, учить, понимать чтобы стать программистом в Unity и С#, сними видос про это пж, ну по типу что просто желательно знать а что обязательно.
@dekir6534
@dekir6534 2 роки тому
Погугли roadmap для unity разработчика. Может быть, найдёшь, что тебе нужно.
@timurnikolaev1438
@timurnikolaev1438 2 роки тому
12500 За кофту? можно две
@user-kp4xy7iu9e
@user-kp4xy7iu9e Рік тому
Коментарии зло... Ну если в стиле капитана очевидности, то да. А если писать по делу, то сохранит очень много времени, например почему мы выбрали то или иное решение(стукруту данных, алгоритм и т.д.), прокоментировать аргументы функций \ возвращаемое значение (где может быть не очевидно без просмотра тела функции) и прочее.
@sbm31337
@sbm31337 Рік тому
По слухам в пыхе чем короче имя переменной тем быстрее она обрабытвается ( это я типа придумал аргумент за говнокод)
@dimaq4428
@dimaq4428 2 роки тому
Язык не важен, так же в каждом собесе: расскажите об отличительных особенностях, а эти интерфейсы откуда, а эти интерфейсы куда, а фреймворки, а это что за аннотации. По итогу получаем шквал вопросов, а работать по итогу вообще приходится с другими вещами.
@ostrov11
@ostrov11 2 роки тому
... чувак, что у тебя с шеей со стороны горла ???
@user-xq2oz1ns8w
@user-xq2oz1ns8w 2 роки тому
У меня вопрос, умеешь ли ты делать собственный движок например на основе openTk? Или хотя бы пробовал, очень интересно про это увидеть видео
@ProkerKusaka
@ProkerKusaka 2 роки тому
Ничего там интересного нету, 99% это будут велосипеды)
@user-xq2oz1ns8w
@user-xq2oz1ns8w 2 роки тому
@@ProkerKusaka мне интересно услышать от романа про самодельные движки в целом стоит ли изучения каких высот можно достичь и тд надеюсь нормально объяснил😅
@kirillsviderski4739
@kirillsviderski4739 2 роки тому
@@user-xq2oz1ns8w отвечу за Рому: не стоит делать самописные движки, если хоть немного заработать хочешь конечно
@user-xq2oz1ns8w
@user-xq2oz1ns8w 2 роки тому
@@kirillsviderski4739 а если не в плане денег, а в плане разработки нормальной игры ,возможно ли сделать в соло движок за месяц два три на котором можно будет сделать норм игру?
@mikeanderson5196
@mikeanderson5196 2 роки тому
@@user-xq2oz1ns8w У меня знакомый за 7-8 месяцев классную игруху написал, с собственным движком. Так что это возможно, но сомневаюсь, что это практично в плане времени
@vanyasotnikoff6024
@vanyasotnikoff6024 2 роки тому
Кто сказал что ООП это панацея, а процедурное программирование это прошлый век. Это не правда. Конечно ООП это лидирующая парадигма. Но ситуации бывают разные. Многое зависит от задачи, предметной области, специфики, истории и много чего. После таких утверждений появляются программисты, которые пытаются все превратить в объекты любой ценой. Например, я имел дело с задачей чтения ячеек excel, одна программа каждую ячейку описывала классом, затем превращала в объект, а другая просто читала в список. О производительности говорить не приходится.
@hexagon4326
@hexagon4326 2 роки тому
Совет номер 9. Не стоит завышать количество советов в названии ролика для красивой цифры. Зачастую это просто рудимент, который может стригерить некоторых личностей (например меня).
@rsakutin
@rsakutin 2 роки тому
0-9 - суммарно 10
@hexagon4326
@hexagon4326 2 роки тому
@@rsakutin а вступление тоже считается или я где-то 2 в 1 пропустил?
@romanbush5164
@romanbush5164 2 роки тому
Блят кто бы мне сказал десять лет назад, что программирования это не только язык программирования!?!!!**$*
@nightyonetwothree
@nightyonetwothree 2 роки тому
нафига учиться исключительно ооп когда еще есть и дата-ориентированное программирование, которое быстрое и надёжное?
@CodeWriter
@CodeWriter 2 роки тому
Мне подписчик как-то написал что gовно код позволяет проявить фантазию в программировании, а опытные программисты которые придерживаются правил ограничены в программировании. Что ты думаешь по этому поводу? Пхахпхах
@rsakutin
@rsakutin 2 роки тому
Думаю стоит забанить придурка
@Vander0_0
@Vander0_0 2 роки тому
@@rsakutin Хахахахахаха а ловко ты это придумал
@chemistryege
@chemistryege 2 роки тому
Я не знаю как в программировании, не программист, нов моей работе примерно так есть. Для серьезных проектов надо все делать максимально стандартно, что бы снизить риски. А с маленькими можно творчески поиграться
@kirillsviderski4739
@kirillsviderski4739 2 роки тому
@@chemistryege Хороший код и помогает сходу вводить любые творческие эксперименты
@hematogen50g
@hematogen50g 2 роки тому
Думаю он использовал логику проф. киберспорта - матчи по старкрафту ГМЛ куда скучнее смотреть, чем любительские. Т.к. грандмастера играют почти всегда одинаково, у них все стратки заучены и они не могут поступить иначе. Думаю в прогерстве так же. Что и отличает любителя от профессионала. Первый романтик, второй - прагматик.
@PunkBASSter
@PunkBASSter 2 роки тому
Комменты в коде хороши, чтобы описать человеческим языком неочевидную хуйню (костыли). Костыли -- это плохо, но это, зачастую, вынужденный компромисс. В частности, когда сторонняя апишка гонит хуйню время от времени, а тебе от нее нужен результат, приходится как-то изъёбываться, чтобы его получить. И лучше это неочевидное поведение описать, чем не описать, имхо.
@CoRecYT
@CoRecYT 2 роки тому
У тебя получилось из-за баланса белого, будто нижняя часть экрана в кинематографичной чёрной полоске) Надо либо поменять одежду, либо место съёмки, либо подкрутить камеру.
@mrsgonzaa
@mrsgonzaa 2 роки тому
Если выкрутить баланс белого, цвета на стене будут бледными. Тут либо добавить контровой свет, которого в данный момент нет, либо сменить одежду. P.S. Нижняя часть экрана как в кино называется экранное каше.
@itnoob7379
@itnoob7379 2 роки тому
Тот момент, когда недавно открыл первый раз среду разработки и не понимаешь половину из того, что говорит автор...
@CtrlAltDente
@CtrlAltDente 2 роки тому
Не расстраивайся) А вообще то желательно прочитать книги по программированию (не языкам), и глянуть стандарты и общепринятые методы, чтобы +/- что-то понимать. Хотя с обратной стороны, у каждого свои собственные стандарты, и ты не можешь предугадать в какой компании будут свои локальные стандарты. И я уж не говорю о том что некоторые примеры в одной книге могут прямо противоречить примеру в другой книге. Но банально те факты что именовать переменные надо так чтобы они отображали свою суть и код должен выглядеть читабельным с учётом отступов через Tab (не встречал чего-то другого) никто не отменял. Желательно вообще устроиться в компанию на первые строки заявляя что опыта у тебя 0.000000003 и ты готов "рвать и метать" лишь бы научиться чему-то новому и хорошему, даже не упоминая о ЗП. А уж более опытные тебе в этом помогут, и литературу дадут, и может задания даже. Конечно тут на самом деле как повезёт.
@fgyly78
@fgyly78 Рік тому
14:53 Точка входа Main: За что?
@ra7even903
@ra7even903 2 роки тому
сакутин противоречит сам себе? пару дней назад говорил, что ничего такого нет, если использовать статик (про вывод логов) и в видео теперь говорит, что статик это хуево и ТОЛЬКО В РЕДКИХ ИСКЛЮЧЕНИЯХ нормально.
@user-lt7rn4of7y
@user-lt7rn4of7y 2 роки тому
Для логов не надо использовать статик.
@vasiliychernov2123
@vasiliychernov2123 2 роки тому
Тот пост был толстым вбросом
@Gen-Max
@Gen-Max 2 роки тому
Да уж. Где взять такие деньги на обучение? Блин, один платеж по рассрочке 15к, это чуть больше половины моей зарплаты.
@amen-bratyam
@amen-bratyam 2 роки тому
По первому запросу в гугле его курс лежит.....
@osore_7875
@osore_7875 2 роки тому
Половина советов основы ооп.
@bratttn
@bratttn Рік тому
Дельные советы, но, к сожалению, их поймёт и воспримет только испытавший всё это на своей шкуре. Можно объяснять слепому про цвет, но неплохо было бы для начала открыть ему глаза. Новичкам надо с примерами обязательно, и то не факт, что дойдёт.
@user-sj6rx9yu8y
@user-sj6rx9yu8y 2 роки тому
Слепой печатью не овладел за несколько лет опыта
@holypowerenjoyer6059
@holypowerenjoyer6059 2 роки тому
Вам 70 лет?
@user-sj6rx9yu8y
@user-sj6rx9yu8y 2 роки тому
@@holypowerenjoyer6059 мне двадцать пять годиков. Из них лет 5 по 8+ часов 5 дней в неделю я провожу за компом. И все равно в слепую печатать не умею. Где какая клавиша находится, знаю. И даже могу примерно по ним попадать. Но на написание вслепую слова из 10 букв я раза 2-3 воспользуюсь бэкспейсом
@user-gb1ch8rf1e
@user-gb1ch8rf1e 2 роки тому
Комментарии - это плохо! Нетривиальный код: ладно Статики запрещены в ООП! Синглтоны и некоторые другие паттерны ООП: ок В общем-то ты говоришь неплохие вещи, но зачастую настроен уж слишком радикально
@user-ey5xw2nx9s
@user-ey5xw2nx9s 2 роки тому
Ну, про синглтоны - это спорное утверждение
@MatthewParkers
@MatthewParkers 2 роки тому
Что со звуком то?
@rsakutin
@rsakutin 2 роки тому
Что у вас не так?
@MatthewParkers
@MatthewParkers 2 роки тому
@@rsakutin очень тихо
@dichev7257
@dichev7257 2 роки тому
Все норм со звуком
@mrsgonzaa
@mrsgonzaa 2 роки тому
@@MatthewParkers извините, а вы с каких ушей, на какой громкости и где смотрите, что у вас очень тихо?
@user-yd6dp8th4y
@user-yd6dp8th4y 2 роки тому
@@MatthewParkers Добавь звука тогда
@user-no1ig1er9s
@user-no1ig1er9s 2 роки тому
Классный худи)). Такая говорящая голова получается))).
@sevenlands2354
@sevenlands2354 2 роки тому
10 вещей которые ты обязан знать , а советов всего 9 :D
@vatyunga
@vatyunga 2 роки тому
10й пунтк это реклама школы
@user-oh5jk6kf4x
@user-oh5jk6kf4x 2 роки тому
Нумерация с нуля
@sevenlands2354
@sevenlands2354 2 роки тому
@@user-oh5jk6kf4xТочно как я мог не увидеть 0 ))) вот только идет она до Компота под номером 8
Как бы я начал учить кодинг сейчас?
12:15
ТОП ОШИБОК НА СТАРТЕ КАРЬЕРЫ В IT
4:53
Папочка Дотнета
Переглядів 1 тис.
Обзор кода от Unity! Я нашёл там лютый позор...
22:48
Роман Сакутин
Переглядів 67 тис.
Расследование тайны нижнего подчёркивания в C#
13:54