Эмбеддеры

Oct 18, 2021 01:46

Я скоро уже как Балмер начну скакать по комнате с воплями "эмбеддеры-эмбеддеры-эмбеддеры-эмбеддеры!!!"

Короч, как называется антипаттерн когда вместо того чтобы позвать QTimer::singleShot пишут отдельную функцию, вызываемую каждые N миллисекунд, в которой... да-да, взводят статический флаг, по которому уже больше не делают ничего.

Бонусный балл за ( Read more... )

Leave a comment

Comments 18

nicka_startcev October 18 2021, 01:15:15 UTC
ничёнепонял.

>вместо того чтобы позвать QTimer::singleShot

это хрень, которая один раз запустится примерно через Ъ времени (как там планировщики всякие осилят, но примерно), но ровно один раз?

>взводят статический флаг, по которому уже больше не делают ничего.

а чё такова. условный WM_хреньпень в винде отдельно, а ф-я on_wm_хреньпень отдельно. в прошлой менеджерской реакци, в условиях эльфланда, там что-то было, а сейчас, в гоблинлэнде, пусто.

но да, оптимизировать такое геморно, особенно когда вм_сообщения меняются.

ps: кстати, тут я при пользовании телеграмма в линухе заметил мелкую хрень, которую можно интерпретировать как подозрение афтырей телеграмм в применении паттерна

while getMessage() != foo && getMessage() != bar
{
dispatchMessage(); // every even message?! really?!
}

который я видел в МСДН еще в те времена, когда вин32 было экзотикой на фона вин16

Reply

ex0_planet October 18 2021, 07:49:56 UTC
Вряд ли, в телеграмном клиенте как раз Qt и оно от таких вещей очень хорошо изолирует писателя прикладного кода.

Reply


nicka_startcev October 18 2021, 01:17:16 UTC
>вместо того чтобы позвать QTimer::singleShot пишут отдельную функцию, вызываемую каждые N миллисекунд, в которой... да-да, взводят статический флаг

недоделали, ниасилили, работает плохо, дайте денег и железа? хуяк-хуяк, но этот продакшн надо оптимизировать, но манагер забил?

Reply


tanner_of_kha October 18 2021, 02:56:56 UTC
Plot twist: QTimer::singleShot реализуется через платформенно-зависимые макросы, которые на данной платформе разворачиваются в проверку/установку флага по равноинтервальному тику.

Reply

ex0_planet October 18 2021, 07:46:56 UTC
Даже бы если это было так, зачем повторно городить городухи если есть удобная абстракция предоставляемая платформой?

Reply

mbr October 18 2021, 14:22:24 UTC
Чет у меня сомнения на этот счет. Оно работало вне контекста исполнения основного процесса. Хотя я очень давно не кодил на Qt, мог и напутать.

Reply

tanner_of_kha October 21 2021, 09:06:25 UTC
Я просто стебусь, я вообще никогда не кодил на кьюти.

Reply


balmerdx October 18 2021, 07:21:18 UTC
Немножко стёба. 🤪
Есть отличный язык для программистов низкой квалификации. Go называется. Конкретно против этого антипаттерна он не поможет, но вот во многих случаях можно программировать отключив мозг. Go - это упрощённый вариант Java или C#.

Reply

ex0_planet October 18 2021, 07:48:35 UTC
Так под Qt тоже можно программировать отключив мозг! Оно для этого и сделано, надо просто отвыкнуть писать кривой недоделанный самопал на каждый чих и просто научиться пользоваться тем что уже есть.

Reply

balmerdx October 18 2021, 07:55:27 UTC
Кому как. Я вот уже второй год не могу найти обращение к уже удалённому объекту в QT коде. Оно где-то в пяти мегабайтах исходников. Спасает только то, что происходит не чаще раза в месяц.

Reply

ex0_planet October 18 2021, 07:58:31 UTC
Всего одно на пять мегабайт? Ну ты ж понимаешь что в "голом" цпп их было бы не меньше двух десятков в аналогичном объёме?

Reply


mbr October 18 2021, 14:32:33 UTC
Зато ты бы видел, сколько они хотят на руки в месяц. И, походу, чем тупее претендент, тем больше он хочет.

Reply

metaclass October 18 2021, 16:50:52 UTC
А сколько хотят?
А то я загребся json перекладывать и хочу то ли С++ то ли на эмбед с линуксом сбежать наконец-то, от всех этих облаков-кубернетисов-вебов и сопутствующего сумасшедствия и неясно, то ли сначала скиллы прокачивать и просить сразу +20% к текущей зарплате, то ли идти работать за еду и компенсировать меньшим количеством работы :)

Reply

mbr October 18 2021, 17:59:03 UTC
Как правило, из веб-макаки уже не сделать ничего путного. Комментарии даже в этом треде типа "а что такого?" это только подтверждают.

Reply

metaclass October 19 2021, 14:04:37 UTC
Да вроде не вижу ничего крамольного в комментариях, да и веб-макак тут только я, да и то, "я маску на улице нашел" :)
А Никита вообще троллит, как обычно, он же тоже эмбеддер.

Reply


Leave a comment

Up