Snusmumriken
Ну, у тебя тут i не возвращается : )
Хоть в 90% случаев и не нужен, но в 10% - очень даже нужен, а производительные бенефиты отсутствуют : )
Elias
Посмотрел в код игры
Ни разу мне индекс не нужен, ipairs вообще не юзаю. 😆
А "_" постоянно писать надоедает - не так красиво выглядит, как
for item in values(items) do
Snusmumriken
Хе, ну лады : )
fgntfg
@eliasdaler А ты вкурсе что for будет быстрее работать без всяких итерраторов. Я как то очень долго отлаживал циклы и наотлаживался вдоволь
Snusmumriken
fgntfg
Через метатаблицу определить для этой таблицы новый итератор и всё. Вроде как и не лезешь. Помоему это так работает. Хотя да, не очень красивое, в плане архитектуры решение.
Snusmumriken
Но это всё равно не очень важно в подавляющем числе случаев.
Оптимизировать стоит 10% самого частовызываемого.
Elias
В курсе, но пока проблем с производительностью не видел
Все самые тяжелые итерации у меня в C++ коде
А в Lua очень редко могу пробежаться по табличке из 5-10 элементов, что на производительность ну никак не повлияет :D
fgntfg
Snusmumriken
Нет, границы циклов определяются один раз.
fgntfg
Elias
Когда Lua код занимает 5% времени выполнения, оптимизации вообще не нужны. 😏
Snusmumriken
Тоесть это я такой молодец 4 раза за фрейм по 100000 таблицам бегал.
Да, нормальные люди вообще пробегают исключительно по тому что необходимо.
В играх - заводятся таблицы индексации на каждый чих.
Например, для движущихся объектов - если объект сдвинулся за этот кадр - добавляем его в список, потом проходим по списку и считаем коллизии, например.
Чтобы не бегать вообще по всем объектам.
fgntfg
Snusmumriken
Ну, пробежать по ним один раз за один кадр - норм.
И чего, прям все двигаются? Ты что, osmos мутил? Даже там не нужно столько : )
fgntfg
А там ещё доктора были, которые тоже влияли на всё вокруг
fgntfg
Тормазило знатно и я никак не мог подобрать хорошие коэфициенты, чтоб зараза распространялась не очень быстро и не очень медленно.
Anonymous
Зачем так много жителей для шести домиков? =\
Snusmumriken
Вот когда я мутил osmos, тут нужно было бешеное количество движущихся объектов.
Коллизия через sweep & prune, пройтись по всем за один цикл - реально.
Snusmumriken
Но вот даже тут, знаешь в чём прекол?
Можно нормально обновлять только то что влезает в камеру, а всё что не влезает - обновлять через кадр (чередуя, например, правую/левую стороны экрана, или делить на чанки) или ещё реже, с увеличенным пропорционально dt.
Точность незначительно теряется, но зато производительность подскакивает в разы.
fgntfg
Ilya
Yaroslav
а можно запутанный пример?
Ilya
По-моему примеры с теми же итераторы были достаточно запутанными. А еще там в "домашке" было кое-что.
Ilya
Ilya
Не в смысле нельзя учиться, а в смысле что рассчитано не на опытного прогера.
Ilya
Учиться можно. Но скучно )))
Snusmumriken
Ну, на средне опытного проггера : )
Ну, у меня идеально немножко другой способ обучения: ставим цель и топаем к ней, попутно изучая нужные темы. Так веселее.
Ilya
К слову, недавно надыбал статью из Lua Gems - эта книга выглядит поинтереснее, хотя там надо уже понимать базовые вещи.
Ilya
Ilya
А еще лучше устроиться работать куда-нибудь прогером на том языке, который хочешь изучить - и цель поставят, и научат ))
Snusmumriken
Это плохой способ. У меня сейчас помощник есть, он меня постоянно дёргает. Пожалей людей.
Ilya
И денег еще дадут
Snusmumriken
Хочешь какую-нибудь смешную задачку чтобы по ней учиться?
Ilya
Ну помощнику-то хорошо 😃
Ilya
Нет, у меня есть уже.
Ilya
Ну тут одно из двух: либо помощник дерево, либо ты как-то не так выстроил процесс вашего с ним общения.
Ivan
Snusmumriken
Не совсем. У нас много самописных систем без документации, а он не очень умеет исследовать.
Ilya
Это уже грустно 😉
Ivan
вот пусть и документирует всё что узнал
Snusmumriken
Ну, просто я сравнительно быстро влился, потому что читал много чужого кода и как раз рисовал схемки того как все работает.
Ivan
эх, надо было тебе документировать
Ilya
Схемки расшарь с ним ))
Snusmumriken
Хе, было бы время документацию писать : )
Дедлайн непрерывный.
Snusmumriken
С другой стороны, у нас много самописных систем, включая связи между сервисами и те же БД, поэтому мы не очень изучаем вещи которые полезны себе и другим работодателям. Приходится остальное тянуть самостоятельно.
fgntfg
Snusmumriken
В точку : )
Хотя я и делаю кучу реворков на уменьшение костыльности, но часто меняется тз и обнаруживается что без костылей быстро не поправишь
fgntfg
Задачи разработки легли на хрупкие плечи сопровождения
Anonymous
По поводу обучения на новом месте работы, я считаю что допустим такой сценарий , но лучше будет , если новичок обучается самостоятельно
Anonymous
Например
Ilya
Ну какие-то навыки-то разумеется необходимо иметь 😊 Чтоб собеседование пройти, хехе.
Anonymous
Вот я состоявшийся инженер, и я забыл больше чем потенциальные мои коллеги на новом месте работы будут знать. Но я не могу знать всё. Поэтому мне нужно оплачтваемый период обучения
Anonymous
Собеседование зачастую есть рандом. Успешно пройти собес может и высококлассный дебил и професстонал
Anonymous
Первоклассный дебил, простите
Anonymous
Просто я хочу сказать , что главное - насколько серьезно коллектив относится к своей работе
Anonymous
А если там доминируй-унижай и ангулярЖС то это уже другое дело
Ilya
Это типа: https://twitter.com/ilya_sher_prog/status/925828586724052998 ??
Anonymous
Я не уверен что код ревью так однозначно можно назвать инструментом унижения
Anonymous
Но вот использование определенного спектра технологий - вполне
Anonymous
Например язык го, упомянутый уже ангуляр или вуе
Anonymous
Да много чего, тот же с++
Ilya
Поясни.
Ilya
Что не так с го, ангуляром, вью, да и вообще - с той ситуацией, когда компания ориентируется на какую-либо конкретную технологию?
Ilya
По-моему это вполне оправдано и логично, когда не разрешают разводить зоопарк технологий.
Anonymous
Зоопарк зоопарком, но технологии , которые ущербны изначально (например с++) - разрушают не только мозг , но и коллектив
Anonymous
Трудиться так нельзя, можно только выебываться
Anonymous
А в зрелом возрасте это трудно
Anonymous
Поэтому я и говорю, что зреловозрастной новичок должен иметь период оплачиваемого обучения
mihacooper [МСК -2]
Anonymous
Я хорошо знаю с++, но это не причина его любить
Ilya
Ущербность или не ущербность чего-либо - это всего лишь личная точка зрения. Всякую ущербность можно нивелировать разумными стандартами кодирования - например, требованием избегать тех или иных шаблонов при использовании.
Anonymous
Есть отличный рид c++ fqa
Anonymous
Почему личная?
Anonymous
Инвалид от здорового человека же объективно отличается