Уроки Unity от Дударя: плюсы и минусы обучения

Разбор уроков Гоши Дударя по Unity выявил ряд недостатков. Популяризация сложных тем и переводы зарубежных статей, безусловно, полезны, но качество обучения вызывает вопросы.

Низкоуровневые сущности и неявность

В уроке наблюдается неточное представление полей и переменных. Хотя поле является переменной-членом класса, упрощение этого понятия вводит в заблуждение. Компилятор по-разному оптимизирует поля и переменные, поэтому такое различие важно. Использование типа данных Light в качестве названия поля некорректно; название должно отражать назначение (например, playerSpotlight, levelLamp). Аналогично, смешение терминов «функция» и «метод» упрощает понимание. Методы корректно называть функциями-членами класса, но такое упрощение нежелательно.

В коде присутствует дублирование при проверке наличия компонента Light. Вместо повторной проверки и выполнения одинаковых действий следует создать отдельный метод. Использование transform.localScale *= 0.5f для умножения векторов, хотя и проще, не всегда оптимально в Unity. Особенности движка Unity позволяют отступать от строгих стандартов кодирования.

Ошибки в использовании Random и другие

Функция Random.Range демонстрирует ошибку в дизайне Unity. Её поведение отличается для целых и вещественных чисел: для целых минимальное значение включительно, максимальное – исключительно; для вещественных – оба значения включительно. Это может привести к ошибкам, как в примере создания случайного объекта из массива – последний элемент не учитывается.

Стиль кодирования

Стиль кодирования хаотичен: смешение регистров, неконсистентное использование сокращений. Использование Invoke с передачей имени метода строкой опасно и снижает читаемость кода, несмотря на кажущееся удобство. Предпочтительнее явные вызовы методов. Избыточная связанность между компонентами через поля усложняет код и затрудняет поддержку.

Несоответствие обещаний и реальности

Реклама курса обещает высокую зарплату ($2500 в месяц через 2 года), что сомнительно. Представленные данные о зарплатах не подкреплены исследованиями. Объём практики (более 40 часов, 200 заданий) кажется завышенным. Качество кода и стиль программирования далеки от профессионального уровня. Код скорее напоминает работу любителя, не имеющего опыта в серьёзных проектах.

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

Что будем искать? Например,программа