Лакмусовая бумажка хорошего программиста — правильные названия переменных.
💩 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
Срочные фиксы или сделать поиск в редакторе? Выбор очевиден.
Зацените какие классные штуки появились еще в #unity 2021.1 версии.
Можно делать так:
а можно так:
Можно делать так:
// получаем любую коллекцию на время
var visited = CollectionPool<HashSet<ModuleView>, ModuleView>.Get();
// используем коллекцию...
// освобождаем коллекцию и автоматом чистим её для повторного использования
CollectionPool<HashSet<ModuleView>, ModuleView>.Release(visited);
а можно так:
// получаем любую коллекцию на время
using (CollectionPool<HashSet<ModuleView>, ModuleView>.Get(out var visited))
{
// используем коллекцию...
}
// автоматическое освобождение через IDisposable
Я: Ура! Город, откуда я родом, попал в новости!
В это время новости: …
В это время новости: …
Telegram
Mash
Девять человек умерли в психоневрологическом интернате в Кемеровской области — предварительно, из‑за гриппа типа А.
В январе в Прокопьевском психоневрологическом интернате скончались семь человек. Остальные — умерли после госпитализации, сообщили власти…
В январе в Прокопьевском психоневрологическом интернате скончались семь человек. Остальные — умерли после госпитализации, сообщили власти…
👀1
История повторяется:
10 лет назад
Кто-то: почему не работаешь?
Я: плюсы компилируется…
Сейчас
Кто-то: почему не работаешь?
Я: лимиты на Claude обновляются…
К слову; недавно пришлось собирать из исходников cocos2d-x, и если когда-то это занимало полчаса+ (на холодную без кэшей конечно), то теперь на M3 Pro это дело нескольких секунд.
10 лет назад
Кто-то: почему не работаешь?
Я: плюсы компилируется…
Сейчас
Кто-то: почему не работаешь?
Я: лимиты на Claude обновляются…
К слову; недавно пришлось собирать из исходников cocos2d-x, и если когда-то это занимало полчаса+ (на холодную без кэшей конечно), то теперь на M3 Pro это дело нескольких секунд.