Как рефакторить код
• namespace везде
• Разделение функций на более простые
• Убрать неиспользуемые юзинги
• RequiredComponent
• Сначала публичные, потом приватные, и так же с методами
• Названия переменных с _, нейминг
• [Range(n,n)] чтобы ограничить границы значения поля.
• [ReadOnly] чтобы не изменять в интпекторе, но видеть
• [Header] чтобы в инспекторе были заголовоки
• Функции и гетсет в 1 строку через =>
• Проверка на нул всех объектов
• Валидация в гет сет (например чтобы нельзя было вычесть из health отрицательное число, или чтобы жизни были изначально ниже нуля)
• Расширения public static, для сокращения/красоты. Например: Disable(this Component comp) => comp.gameobject.SetActive(false)
• Комментарии, особенно где магические числа
• Проверка на ООП и солид
• Все ресурсы в папке resources