Vladislav
и это очень удобно
удобно, пока приложение маленькое
Vladislav
удобно, пока приложение маленькое
а при масштабировании все превратится в лапшу и ад
Micktu 😬
я видел несколько больших приложения, которые хорошо себя чувствуют, имея глобальные объекты и дергая их...
Micktu 😬
безо всяких событий и делегатов
it-trend
общее представление о сортировке, криптографии, списках и деревьях
наблюдаю шарпистов, которые для нахождения максимального элемента сортируют массив и берут последний элемент
cyber
шейкерной сортировкой
it-trend
там нет стандартной функции для этого )) но не самим же писать
Micktu 😬
там вроде есть линк-метод для этого, но я его не помню наизусть
Micktu 😬
(да вот такой я шарпист)
Micktu 😬
так что я бы просто прошелся по нему в цикле
Vladislav
я видел несколько больших приложения, которые хорошо себя чувствуют, имея глобальные объекты и дергая их...
> которые хорошо себя чувствуют приложения-то ладно, а как себя чувствуют инженеры, поддерживающие это?
it-trend
так что я бы просто прошелся по нему в цикле
это надо цикл писать. А тут две строчки не задумываясь.
cyber
там есть функция в расширениях LINQ
Micktu 😬
даже если там конкретно нет метода макс то там точно есть редьюс под другим названием
Micktu 😬
так что можно вызвать (псевдокод) list.reduce(max(v1, v2))
it-trend
там есть функция в расширениях LINQ
явно пропущено название функции ;)
Daniil
в объекте глобального состояния, инстанциируемого в точке входа, очевидно
А тут вот начинается боль. А что если до процесса инициализации этого объекта к нему обратиться другой объект?
Vladislav
там есть функция в расширениях LINQ
многие шарписты не умеют в LINQ, сложна
cyber
многие шарписты не умеют в LINQ, сложна
ты чоооо, это же первая норм реализация RX
it-trend
Видел обратное. Чел написал пару экранов функций из кучи вложенных вызовов LINQ
Micktu 😬
values.Max()
Vladislav
А тут вот начинается боль. А что если до процесса инициализации этого объекта к нему обратиться другой объект?
боль начинается именно в случае с глобальными переменными, потому что порядок их инициализации криво определен (см. static initialization order fiasco)
Micktu 😬
метод так и называется
Micktu 😬
теперь посмотрю как там называется то то я предложил...
Micktu 😬
values.Aggregate((a, b) => Math.Max(a, b));
Micktu 😬
вот редьюс
Micktu 😬
но ввиду того что я чаще всего использую сишарп в юнит
Micktu 😬
а линк не очень предсказуемый в плане генерации мусора (хрен хнает, когда там статик класс а когда аллокация выходит)
Micktu 😬
я его избегаю
Micktu 😬
потому что разработка в сишарпе на юнити - это вечное параноидальное НЕ СОЗДАТЬ МУСОРА ДЛЯ GC
Micktu 😬
НЕ ОТПУСКАТЬ УКАЗАТЕЛИ
Micktu 😬
мемори-менежмент, который мы заслужили.
Micktu 😬
с++ проще после этих костылей
Deleted Account
юнити ппц кал, всё на нём лагает
Deleted Account
годится тока для хеловорлда
Micktu 😬
юнити отличная либа
Micktu 😬
кривокучки прост
Micktu 😬
криворучки делают кривокучки
Micktu 😬
там только рендер медленнее чем в UE4 на сложных сценах, а то что в рантайме тормзит - это П Р О Г Р А М М И С Т Ы
Deleted Account
а UE4 не тормозит?
Micktu 😬
процесс разработки у него тормозит :)))
Micktu 😬
редактор тормоз, компиляция медленная
Micktu 😬
по сравнению с юнити
Micktu 😬
анриал очень не для начинающих и вообще нежелателен имо в проектах где больше кода, меньше контента
Micktu 😬
работу с контентом он отлично умеет благодаря редактору
Micktu 😬
а вот программировать куда менее продуктивно чем юнити-сишарп
Micktu 😬
причем дело не в плюсах, плюсы там скриптовые, удобны, с GC
Micktu 😬
только все обложено макросами рефлексии для блупринтов
Micktu 😬
а вот именно в том что компиляция медленная и в целом больше проблем возникает
Micktu 😬
и кастомизировать оче сложно
Micktu 😬
я верю в людей, которые умеют учиться и быстро находить ответы на вопросы
Micktu 😬
больше, чем в людей, которые несут багаж знаний
cyber
Andrei
когда нужен синглтон?
чуть реже чем никогда.
Micktu 😬
что это за фигня на второй строке :))))
Micktu 😬
список в списке?
mefest
когда нужен синглтон?
как правило почти всегда можно без него
Micktu 😬
но у тебя же список инт а не список списков
Micktu 😬
ты пытаешься на втрой строке взять из List<List<int»
cyber
вообще, например, архитектура андройда такая убогая, что там без синглтонов никуда...если не обмазываться унылими DI либами
Micktu 😬
и вообещ я собирался поработать
Micktu 😬
господи
Micktu 😬
Deleted Account
Andrei
толстенько
Я серьёзно.
Andrei
В плюсах абсолютно точно всегда можно обойтись без синглтона и сделать лучше.
Andrei
Синглтон в данном контексте как паттерн подразумевается.
Gregory
не один крупный проект вышибал мозг с глобальным сервис локатором )