LifeEXE | Unreal Engine | CG
Видео
lA3qmNSKi7j0OI9G.mp4 · 9.1 МБ · нажмите — покажем
lA3qmNSKi7j0OI9G.mp4 · 9.1 МБ · нажмите — покажем
🙃 Всем воскресный йоу! 🙃
Как-то так выглядит влажность воздуха 90%
Чтобы не попадать в такие нелепые ситуации, как герой этого видео, на новом курсе Unreal Engine C++ PRO: Проектирование игровых систем имеется целая цепочка прокачки скилов по тестированию
⬇️⬇️⬇️
ТЕОРИЯ ТЕСТИРОВАНИЯ
Закладываем инженерный базис
🟢 Аксиома ошибки и способы защитного программирования
🟢 Уровни и классификация
🟢 Как правильно проектировать архитектуру, чтобы код в принципе поддавался тестированию
🟢 Проблемы тестирования
⬇️⬇️⬇️
ASSERTS
Первая линия защиты прямо во время выполнения
🟢 Принцип Fail Fast
🟢 Идиома AAA — Arrange-Act-Assert
🟢 Стандарт C++ — assert и compile-time проверки static_assert
#include <type_traits>
template <typename T>
void process(T value)
{
static_assert(std::is_integral_v<T>, "T must be an integral type");
}
🟢 Специфичные макросы Unreal Engine: check, verify, ensure, checkCode
namespace
{
void TestFunc()
{
checkNoReentry();
}
void RecursiveFunc(int32 Depth)
{
UE_LOG(LogTemp, Display, TEXT("Recursive func called with depth: %d"), Depth);
if (Depth > 0)
{
checkNoRecursion();
RecursiveFunc(Depth - 1);
}
}
} // namespace
⬇️⬇️⬇️
UNREAL AUTOMATION SPEC
Современный BDD-подход (Behavior-Driven Development) от Epic Games
🟢 Анатомия спецификаций: Define, Describe, It, фреймворк изоляции через BeforeEach / AfterEach
🟢 Проверки условий — TestTrue, TestEqual, TestNotNull
🟢 Работа с отложенными (Latent) командами
🟢 Тестирование спауна, состояния и поведения акторов в игровом мире
🟢 Почему в логах нельзя бездумно ставить вербосити Warning и Error
⬇️⬇️⬇️
ПРАКТИЧЕСКИЕ ТЕСТЫ
Защищаем продакшн-код тестами
🟢 Каждый ключевой блок сопровождается написанием реальных автотестов
🟢 Вынесем тесты в отдельный модуль движка — компиляция тестов только в необходимых конфигурациях
💡 Хорошо спроектированный код — легко тестируем, плохо спроектированный код — плохо тестируем
💓💓💓💓💓💓💓💓💓💓 💓💓💓💓
🟢 Картой EUR
🟢 Картой USD
🟢 Донатом Boosty
🟢 Донатом Patreon
💓💓💓💓💓💓
🔗 ue-pro.com
🔗 [email protected]
🔗 Промо видео
🔗 LifeEXE School
#architecture #software #code #cpp #patterns #solid #unrealengine #ue5 #gamedev #meme #humor #lifeexe #lifeexecode #ue_pro #chains #chain0 #ue_pro_chains
8 · 1K ·