- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
/c/Qt/4.7.4/src/plugins/bearer/symbian/symbianengine.cpp:1336..1344
// Waits for 2..6 seconds.
void SymbianEngine::updateConfigurationsAfterRandomTime()
{
int iTimeToWait = qMax(1000, (qAbs(qrand()) % 68) * 100);
#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
qDebug("QNCM waiting random time: %d ms", iTimeToWait);
#endif
QTimer::singleShot(iTimeToWait, this, SLOT(delayedConfigurationUpdate()));
}
Lure Of Chaos 11.11.2011 22:17 # −1
ctm 14.11.2011 07:24 # 0
RaZeR 11.11.2011 23:08 # −1
>SYMBIAN
>SYMBIAN
defecate-plusplus 12.11.2011 09:58 # +2
вместо православного и понятного
timer_.expires_from_now(posix_time::mill isec(time_to_wait));
timer_.async_wait(bind(&app::on_timer, shared_from_this(), asio::placeholders::error));
используется статический метод класса QTimer (эм...), задающий время только в миллисекундах, который должен создать на лету объект таймера (где то в глобальном массиве для ивент-лупа?), задать ему хендлер (опять эти скрипты вместо нормального С++) - объект точно не умрёт до того, как у него попытаются вызвать хендлер?
и судя по хелпу, обрабатывать этот таймер кутэ будет только в том потоке, где живет сам объект
а чем qMax и qAbs лучше std::max и std::abs? тем, что у них тот же блевотный кутешный горбатый стиль? почему в куте что то начинается с большой Q, а что то - с маленькой? а почему в qrand вообще больших букв нет?
gegMOPO4 12.11.2011 15:46 # +1
defecate-plusplus 12.11.2011 16:50 # −2
"...but again Stepanov and Lee met the challenge and produced a proposal that received final approval at the July 1994 ANSI/ISO committee meeting" - стл уже была в драфте стандарта с 1994 года, а кутэ была официально выпущена в 1996
откуда у людей вообще берется этот мерзкий верблюжий стиль, стандартной библиотеке Си куча лет, любой нормальный программист на С++ должен был пройти школу С и привить её стиль - большими буквами определяем константы и макросы, функции и переменные - маленькими
как всегда проблема в паскале, замечательном языке для обучения, он с детства прививает хороший стиль
int_index 13.11.2011 14:32 # −1
Не навязывайте стиль, который вам нравится. Мне, например, удобно называть функции с большой буквы и без подчеркиваний (CountMyPonies), а переменные - наоборот (number_of_ponies).
defecate-plusplus 13.11.2011 16:00 # −1
вам туда, где ваше CountMyPonies не выглядит чужеродным - где TArray, PrOgRaM mAsSiV, Integer, TObject
не я навязываю стиль, это делает язык
не казалось странным, почему printf и delete вместо PrintF и Delete?
rst256 26.08.2014 19:19 # 0
lucidfoxGovno 13.11.2011 14:37 # −5
хня. школа PHP рулит
gegMOPO4 13.11.2011 20:12 # 0
Не используйте qAbs и qMax, никто не заставляет. Стулья Код зачем ломать?
И не забывайте, что Qt — это не только для C++.
defecate-plusplus 13.11.2011 21:00 # +2
http://doc.qt.nokia.com/latest/qtglobal.html
qAbs, qMin, но qrand, qgetenv, и даже qt_set_sequence_auto_mnemonic, q_check_ptr, полная каша, и qt, и q, и верблюды, и все маленькими, и с подчеркиваниями, в макросах аналогично - и Q_, и QT_
и это всего лишь хедер, который included by most other Qt header files.
это всё наводит на некие мысли
как и фетишизм префикса q (Q) - в с++ для этого есть неймспейсы
нелепо писать Qt::Q..., это как если было бы std::stdstring, std::stdvector - масло масляное
не поленился, посмотрел биндинги
только в QtRuby избавились от префикса:
app = Qt::Application.new(ARGV)
все остальные биндинги существуют в языках, позволяющих делать аналогично, но who cares
очевидно, библиотека настаивает на том, чтобы делать глобально using namespace Qt;
ну и чтобы набросить еще - в пятницу мне пожаловались, что парсить xml на кутэ критически медленно, человек всё переделал на libxml
нашел вот такое сравнение (длина бара - затраченное время)
http://xmlbench.sourceforge.net/results/benchmark200910/xmlbench200910-Draw_html_3c093df.gif
кто может прокомментировать?
сам проект сравнения xml-парсеров желающие могут лицезреть http://xmlbench.sourceforge.net/
gegMOPO4 13.11.2011 21:40 # +2
Единственное имя на Q в пространстве имён Qt — Qt::QueuedConnection.
defecate-plusplus 13.11.2011 22:24 # +4
мне как разработчику кросс-платформенного кода (не гуй) на С++ даже интересно
в qt заявляется поддержка асинхронной работы с сетью, через скрипты SLOT (в хелпе не раскрывается через что именно работает асинхронный io, исходники качать пока не буду, ну да ладно). Насколько я понимаю, SLOT будет работать с ивент-лупом в потоке объекта-коллбека и только в нем. В бусте я, когда надо, создаю 8-16-N потоков под это дело, коллбек, срабатывающий на accept, вызовется в одном из них, он кормит сервер свежим объектом connection для нового accept, а сам занимается в своем потоке уже чем хочет (ну как минимум делает async_read), т.е. в другом потоке уже может вызваться новый accept, таким образом я даже не заморачиваюсь балансированием нагрузки и одновременно обслуживаю N задач. Более того, в этих N потоках может работать не только один tcp-server, а и всё остальное, что угодно, равноправно. Я правильно понял, что в qt придется это всё ручками ручками?
ну и опять насчет стандарта 99 года - значит qt несовременная библиотека, раз считает неприемлемым почистить конюшни, переводя некоторые вещи в deprecated и предлагая современные и эффективные альтернативы
более того, их можно не окончательно удалять, а переводить в блоки #ifdef QT_USE_DEPRECATED_SHIT ... some deprecated shit #endif, тем, кому лениво переписывать старый код (очевидно, написанный тогда же, до 1999 года), и кому зачем то нужно собираться не с соответствующей qt, а современной, не обломаются поставить лишний дефайн в настройках проекта
вот что меня может заставить брать qt для масштабного использования в рабочих проектах? особенно для тех, в которых нет GUI (90% оных). Скриптовое кодирование поверх C++? Коммерческая лицензия? Факт того, что ничего из QT не обрело жизни в новом стандарте С++?
и да, Qt::QueuedConnection отсутствует в хелпе
http://doc.qt.nokia.com/latest/classes.html#q
gegMOPO4 13.11.2011 22:42 # +2
О регулярном переписывании проекта масштаба Qt, на который завязано тысячи продуктов многомиллионной стоимости заикнитесь как-нибудь своему начальству. Кстати, из C++ тоже никто в своём уме не собирается вычищать всё неудачное наследие C 70-го года.
Qt::QueuedConnection — не класс.
defecate-plusplus 13.11.2011 22:54 # 0
я говорю о предоставлении единообразного стиля всем новоприбывающим в использование Qt
кто тянул за яйца коммиттеров, выпустивших в свет вышеописанную кашу в QtGlobal, где код ревижен? или раз условно бесплатно, то жрите что есть
gegMOPO4 14.11.2011 12:46 # 0
defecate-plusplus 14.11.2011 12:54 # 0
qgetenv -> qGetEnv
q_check_ptr -> qCheckPtr
где уж тут непохожий стиль именования?
roman-kashitsyn 14.11.2011 12:59 # +4
кучек птр
сразу представил себе кучки указателей
gegMOPO4 14.11.2011 13:16 # +2
defecate-plusplus 14.11.2011 13:32 # 0
но даже горбатый стиль - тоже стиль, если он будет системным - хер с ним
я же обратил внимание на кашу из стилей в основном библиотечном хедере
я даже не специально в него полез, я полез посмотреть что за qMax и qAbs
и в оправдание услышал "так сложилось исторически, старичку 20 лет", что, несомненно, добавляет плюсов к библиотеке
gegMOPO4 14.11.2011 14:03 # 0
guest8 09.04.2019 11:59 # −999