[00:03:38] <vlad2> Все было бы хорошо, если бы не такскали коды ошибок ñ=
[00:03:40] <vlad2> ;)
[00:03:58] <vаlexey> ну, вон даже в MISRA исключения запрещены. увы :-)
[00:04:01] <vаlexey> а тут то вообще Си был
[00:10:22] <vаlexey> vlad2: вот вам, новых, сочных клевет в литературном стиле: http://oberspace.dyndns.org/index.php/topic,614.0.html
[00:10:24] <vаlexey> :-D
[02:12:19] <vlad2> Ну таких клевет на Си можно много накопать :) Причем они намного интереснее, чем набившее оскомину "=" vs ":="
[08:43:16] <geniepro> vаlexey> заметь, в Обероне такой ошибки бы не получилось!
почему не получилось бы? в оберонах же тоже есть указатели
[08:51:12] <geniepro> vаlexey> на самом деле его няшный баг в QtCreator'e по моему из за сочетания двух факторов: XP + крупные шрифты в винде
вот вчера я поставил вин7 с дефолтными настройками и этот QTCreator по ссылке от этого allien'а -- тот же самый баг, что у Кузьмицкого
[12:58:15] <vаlexey> ыыы! народ верит что компьютер до сих пор является абсолютным исполнителем! :-D
[12:58:21] <vаlexey> http://zx.oberon2.ru/forum/viewtopic.php?f=25&p=1097&sid=fd2d0b625ee1d0f3eb75dd3909f8bcbc#p1093
[14:08:13] <shaggie> vаlexey: умеешь же ссылку правильную подкинуть, оттуда же всё на цитаты можно разносить
[14:08:24] <shaggie> "Это всё Вирт с Дейкстрой, я лишь пропускаю их мысли через себя и пытаюсь понять."
[14:10:30] <vаlexey> ага. так и представляю себе какого-то дождевого червя - он вот землю через себя пропускает :-)
[14:36:51] <geniepro> какое всё-таки говно этот сишарп... жесть... с одной стороны вроде почти конфетка, но такая сука глючная...
[14:46:52] <geniepro> >Всегда интересовал один вопрос. А кто фотографирует сам луноход на Луне?
Внутри лунохода поместится, как минимум, пара китайских космонавтов.
[15:14:27] <geniepro> натравил PVS Studio на свой дебилдерный проект. посмотрим, чо покажет...
[15:15:51] <vаlexey> а он не сдохнет от расширизмов билдеровских
[15:15:59] <vаlexey> он же явно на такие извращения не рассчитан
[15:17:06] <geniepro> ну пока что он кучу ругани на билдерные хедеры нарассказал
[15:17:23] <vаlexey> ну да. там же дрянь. проперти всякие...
[15:17:32] <geniepro> и ложные срабатывания на однотипных местах в моей программе выдал
[15:17:49] <vаlexey> а может они не такие уж и ложные? :-)
[15:18:09] <geniepro> не, до пропертей пока не дошёл
да и потом, этот PVS должен понимать сибилдерные проекты -- они же сделали поддержку
[15:18:39] <geniepro> может и не ложные, тут я хз затрудняюсь сказать. исторические наложения с BDE
[15:19:33] <geniepro> типа:
           DM->CGT->Active    = false;
           DM->CGT->Active    = true;
закрываем таблицу и снова открываем, вроде когда-то помогало сбрасывать кеш дисковой системы, а может и не помогало, уже хз
[15:19:57] <vаlexey> Active - это ж пропертя?
[15:20:06] <geniepro> вапще всю эту работу с базой надо переносить из бде на sqlite как будет время
[15:20:33] <geniepro> ага, это эквивалентно
DM->CGT->Close();
DM->CGT->Open();
[15:21:00] <vаlexey> Ну, а PVS считает это скорее всего полем. да еще не volatile-полем. Поэтому и ругается.
[15:21:35] <geniepro> хз, наверное они должны были понять, что проперти -- это не простые поля, а вызовы процедур
[15:21:54] <vаlexey> operator-> не перегружен же :-)
[15:21:57] <geniepro> если уж они сделали поддержку билдера, правда современны версий
[15:22:12] <vаlexey> современные версии это clang
[15:22:14] <vаlexey> шланг
[15:22:24] <vаlexey> и я не уверен что там проперти есть :-)
[15:22:28] <geniepro> разве? сомневаюсь
[15:22:43] <vаlexey> угу. 64битный c++ компайлер у них шланг
[15:22:44] <geniepro> они вряд ли отбросили бы совместимость с древним кодом
[15:22:52] <vаlexey> да и делфи переехали на llvm бекенд
[15:23:03] <vаlexey> дык они там и vcl выпилили :-)
[15:26:14] <geniepro> pvs ругается odd comparison
V550 An odd precise comparison: Goods[gd].Qty == 0.0. It's probably better to use a comparison with defined precision: fabs(A - B) < Epsilon. chequegood.cpp 325
а у меня поле Qty имеет тип Currency, так что тут нормальное сравнение. не умеет PVS работать с Currency типом ))
[15:27:07] <vаlexey> а что это за тип такой?
[15:27:19] <vаlexey> что-то рукописное?
[15:27:27] <geniepro> ну типа Decimal в дотнете
[15:27:35] <geniepro> это VCL
[15:27:40] <vаlexey> э? фиксированная точка что-ли?
[15:27:48] <geniepro> в сибилдере 6 он ещё и глючит
[15:28:01] <geniepro> да, вещественные с фикс. точкой
[15:28:36] <vаlexey> ну, в стандарте этого нема :-)
[15:29:01] <vаlexey> алсо литерал то тут явно в double или как его там. пользовательских литералов билдер также не умеет, ибо c++11 не держит
[15:29:40] <geniepro> try { что-то там } catch(...){}
так нехорошо что ли делать? тут тоже ругается
[15:30:09] <vаlexey> ловить все исключения подряд забивая на то какое именно вылетело? да, плохо :-)
[15:30:40] <vаlexey> это вообще js-style - ошибки игнорировать :-)
[15:31:20] <geniepro> это место при работе с возможно отсутствующим полем в таблице базе данных
[15:31:39] <vаlexey> ну поймай конкретное исключение, да обработай
[15:31:51] <vаlexey> а не catch(...)
[15:32:19] <geniepro> о, нашёл реальный баг -- передавал зачем-то false вместо целого числа о_О
[15:33:01] <geniepro> почему долбанный компилятор тут не поругался???
[15:33:32] <vаlexey> потому что это долбанный билдер!
[15:33:36] <vаlexey> древний как говно
[15:33:41] <vаlexey> да и вообще как говно
[15:33:48] <vаlexey> хотя, почему как? :-)
[15:33:52] <vаlexey> "как правило, специалисты с опытом работы более 6 лет относятся к уровню Team Lead, руководитель группы разработчиков и проч., данные уровни должностей не вошли в выборку исследования."
[15:35:31] <vаlexey> твою же ж мать
[15:35:35] <vаlexey> http://habrahabr.ru/post/209156/
[15:53:20] <geniepro> блин я ожидал от этого PVS Studio большего. ничего серьёзного он не выдал
[15:55:38] <vаlexey> ты слишком хорошо пишешь код :-)
[15:55:42] <vаlexey> ну или проект слишком маленький
[15:56:22] <geniepro> проект небольшой, да, 12к строк всего
[15:57:14] <geniepro> из всех полезных сообщений выдал что где-то false вместо 0 передано было& а где-то true вместо 1 -- всего 4 таких места
[16:02:12] <vаlexey> http://habrahabr.ru/post/209044/
[20:23:22] <vlad2> geniepro: про catch(...) ilovb тоже говорил, что он отрывает своим падаванам за такое :)
[20:35:08] <vlad2> интересно, что запара с мьютексами на стартапе приложения одинаково имеет место и для юникса и для винды
[20:35:31] <vlad2> А вот в обероне такого нет :) Потому что многопотояности нет :)
[20:37:00] <vlad2> Но самое фиговое, что оно ни там ни там нормально не диагностируется для C++ - т.е. оно падает, а вот где эта глбальная переменная с мьютексом - хз.
[20:43:41] <vlad2> Причем даже конкретный ломающий чэндж не всегда помогает. Мьютекс добавили в тип и он нужен, а вот найти место где заводится статическая переменная этого типа (или агрегирующего типа) - уже нетривиально.