Разбирается распространенное заблуждение о существовании «упрощенного кода для новичков», на примере анализа кода, написанного популярными блогерами и в онлайн-курсах. Низкое качество кода часто выдается за упрощение для начинающих, в то время как на самом деле это просто неграмотное программирование.
Анализ кода: плохой vs. хороший
Рассмотрим два варианта решения одной задачи в Unity – создание кнопки для уничтожения противника в шутере. Первый пример – «код для новичков», второй – профессиональный подход.
«Код для новичков»
- Используются четыре поля: имя противника, ссылка на игрока, аудиоклип и визуальный эффект.
- Вся логика находится в методе Update, который каждый кадр проверяет расстояние между игроком и противником.
- При нажатии кнопки, объект ищется по имени, наносится урон (1000), воспроизводятся звук и эффект, а затем кнопка уничтожается.
- Неэффективный подход: замедление работы из-за постоянной проверки расстояния в Update и плохая практика поиска объектов по имени.
Профессиональный код
- Код значительно короче.
- Используется абстракция: метод Kill() отвечает за уничтожение противника и воспроизведение эффектов.
- Код разбит на слои, используется фреймворк Unity, что упрощает структуру и повышает читаемость.
- Убраны неиспользуемые переменные, имена переменных и полей более информативные (например, вместо inMyName используется enemyName).
- Используется наследование от MonoBehaviour, что позволяет избежать явного вызова Update и проверки расстояния. Прямая ссылка на объект вместо поиска по имени.
- Упрощается обработка событий и снижается сложность.
Отличия подходов
Ключевые отличия:
- Структура и организация кода: Профессиональный код более структурирован, читабелен и легко поддерживаем.
- Использование фреймворка: Эффективное использование возможностей фреймворка Unity.
- Названия переменных и полей: Более осмысленные имена.
- Эффективность: Работает эффективнее, избегая ненужных вычислений.
- Поиск объектов: Использует ссылки на объекты напрямую, а не поиск по именам.
Хороший, профессиональный код понятен новичкам и легче в поддержке, чем неграмотно написанный код под видом «упрощенного».
Нет такого понятия, как «код для новичков», специально написанный с ошибками. Низкокачественный код часто преподносится как упрощение, чтобы скрыть некомпетентность авторов. Профессиональный подход делает код более понятным и легко поддерживаемым, даже для начинающих. Рекомендуется ориентироваться на качество кода, а не на обещания «упрощения».