Нет ничего хуже, чем делать так:
⬜️
⬜️ if (notGood) return;
⬜️
Ничего не смущает? Тогда попробуй поставить брейкпоинт на return’е.
Можно писать только так:
⬜️
⬜️ if (notGood)
🔴 return;
⬜️
⬜️
⬜️ if (notGood) return;
⬜️
Ничего не смущает? Тогда попробуй поставить брейкпоинт на return’е.
Можно писать только так:
⬜️
⬜️ if (notGood)
🔴 return;
⬜️
🤔1
Лакмусовая бумажка хорошего программиста — правильные названия переменных.
💩 List<User> userList;
💩 Dictionary<String, Int> dictionary;
👍 List<User> users;
👍 Dictionary<String, Int> wordsCount;
Если завтра ваш List заменится на HashSet — имя переменной не потеряет актуальности.
💩 List<User> userList;
💩 Dictionary<String, Int> dictionary;
👍 List<User> users;
👍 Dictionary<String, Int> wordsCount;
Если завтра ваш List заменится на HashSet — имя переменной не потеряет актуальности.
Кстати, слова:
Huge
Large
Medium
Small
Tiny
Упорядочены не только семантически, но и по алфавиту.
Huge
Large
Medium
Small
Tiny
Упорядочены не только семантически, но и по алфавиту.
Неожиданное поведение в Unity Visual Scripting
Думал, что так делать легитимно и выходит что-то вроде цикла с использованием goto, но оказалось, что в реализации юнитеков -- это рекурсивный вызов из трех функций, что приводило к переполнению стека вызовов (с искусственным ограничением в 100 штук) от чего ловилось внезапное исключение (у всех, кроме меня когда я пытался его поймать).
Но благодаря тому, что визуальный граф может дебажить даже не программист удалось найти проблему по скриншоту сломавшегося графа.
Думал, что так делать легитимно и выходит что-то вроде цикла с использованием goto, но оказалось, что в реализации юнитеков -- это рекурсивный вызов из трех функций, что приводило к переполнению стека вызовов (с искусственным ограничением в 100 штук) от чего ловилось внезапное исключение (у всех, кроме меня когда я пытался его поймать).
Но благодаря тому, что визуальный граф может дебажить даже не программист удалось найти проблему по скриншоту сломавшегося графа.
This media is not supported in your browser
VIEW IN TELEGRAM
В Unity бывает нужно подменить один компонент другим (часто наследником). Чтобы вручную его не удалять (а вместе с ним и зависящие от него через [RequireComponent]), а потом не восстанавливать потерянные значения полей — можно сделать так:
This media is not supported in your browser
VIEW IN TELEGRAM
Срочные фиксы или сделать поиск в редакторе? Выбор очевиден.