Как стать автором
Обновить

Комментарии 78

Ждём… хорошо не с чертом =))
Претензии все те же — без ошибок не пишут :-). Вот отчет и КДПВ.

image

Кто пишет без ошибок — пусть первый кинет в меня свопом!

Еще одна попытка запуститься под линукс?

Таких попыток не было. Были эксперименты.

Не факт что первая упомянутая "опечатка" это именно опечатка…
Нужно смотреть логику, возможно сравнивается сама точка с её нормализованным представлением!

Все куда проще. В этом коде проверяется близость двух точек. norm — суть эвклидово расстояние между двумя точками. Если точки достаточно близки (норма меньше 1е-06), то что-то там.
Тоже сразу бросилось в глаза.

Код настолько нечитаемый, что даже с объяснениями не получается понять, что он делает) Ну и неудачный перенос строки играет свою роль. В коде:


if ((iA->getPoint2D() - iA->getPoint2D()).norm() < 1.0e-6) {

а не


if (iA->getPoint2D() - iA->getPoint2D().norm() < 1.0e-6) {
Блин, точно!
Используйте статические анализаторы кода! :)
А можно я погадаю по картинке?) Линукс теперь использует вашу PVS для статанализа ядра? (:
Всему своё время.
Переходите на модель opensource?)
Мы реалисты. Всё не так радикально.

Не думали о том, чтобы проверить ClickHouse?

Нет. Записали в «посмотреть».
А можно ещё SphinxSearch записать, пожалуйста? =)
Можно. Записали.
и pocketsphinx пожалуйста.

И Xen?

И Xen!
НЛО прилетело и опубликовало эту надпись здесь
каждый волен трактовать на свой лад
Лишь бы Мизулина и Милонов не увидели картинку с межвидовым поцелуем. И в радуге всё же 7 цветов, что радует.
Вопрос к автору — а вы, случайно, не проверяли код Firefox?
спасибо
Как уже успели ответить, да проверяли. Я же хочу дать ссылку для интересующихся, что было, а что нет: Обновляемый список статей, в которых мы рассказываем об ошибках, найденных с помощью PVS-Studio в открытых проектах.
Мы проверяли разные проекты Mozilla Foundation, например, Mozilla Filrefox и Mozilla Thunderbird. Я сам пользуюсь этим софтом, поэтому проверял их чаще, чем другие проекты.
Если не сложно, можете написать свое мнение по поводу качества кода? Сейчас приходится работать с проектом, делаем браузер на основе именно ФФ. Мое личное мнение, что код в ФФ сильно отстает по качеству от кода Хромиума. Только пока никак не удается уговорить руководство переключиться на использование второго.
Думаю будет сложно ответить. Во-первых, этим мы занимались давно. А во-вторых, это слишком субъективно. Надо снимать какие-то метрики и сравнивать, а мы этого не делали.
Понял, спасибо :)
Если это означает, что будет версия под Linux с интеграцией в QtCreator тогда цены вам нет)
Насчет цены кстати все плохо :-). Мало того, что она «есть», так еще и ого-го!

Про QtCreator. А как Вам кажется должна выглядеть интеграция?
Он поддерживает плагины. В частности, у них сейчас подсветка кода, автодополнение и т. д. (code model) через clang реализована плагином. Правда, не работает ничерта, но это вопросы к разработчикам конкретного плагина, я думаю, а не к системе плагинов :)
Ну а вот компилятор вызывается и выдает варнинги в окошко. Этого разве не достаточно (от анализатора)? Зачем еще плагины?

Чтобы можно было из IDE прыгать по ошибкам и прямо в IDE исправлять.

Ну вот обычный вывод в stdout дает же это?

Ну вот сейчас на винде есть Standalone, и есть плагин к Visual Studio. Плагин удобнее

Эхх… (написал на самом деле другое слово, но смог его заменить на «эхх»)

Сколько раз мне все твердили, что плагин — для дураков, настоящим линуксоидам достаточно command line…

Эххх…

Ну суровым линуксоидам наверное достаточно vi и иксов у них вообще нет. Лично мне удобно когда вся работа с кодом происходит из IDE: контроль версий, профайлинг, дебаггинг ну и статический анализ туда же. Тем более что минимальный анализ IDE делают в реальном времени.


Может я просто не труъ-линуксоид. У меня и винда в дуалбуте есть

Есть простой критерий — производительность. Да хоть ногами печатайте в стойке на голове, если вам так удобнее. Но только, если вы демонстрируете производительнсоть лучшую, чем показывает сферический разработчик в вакууме.

Однако же, по поводу IDE соглашусь с вами. Задача окружения — свести к минимуму рутиные операции, предоставить весь необходимый инструментарий «на кончиках пальцев» и, в конечном итоге, освободить мозг программиста для работы над задачей.

Неоднократно по работе сталкивался с ситуацией, когда банальнейшие операции коллеги проделывают с таким скрипом и тоской, которые в настроенном окружении выполняются молниеносно и на уровне моторных рефлексов. О какой тогда эффективности можно говорить, если тупо поиск места в коде может занять несколько минут?

Причем, что характерно, подобные индивидуумы обычно утверждают, что «им так удобнее». Но опять же, проблема в итоговой производительности.

P.S.: К слову, «IDE vs vi» звучит не совсем корректно, поскольку vi — это такой же инструмент и можно прокачать его далеко за пределы среднестатистической IDE.
P.S.: К слову, «IDE vs vi» звучит не совсем корректно, поскольку vi — это такой же инструмент и можно прокачать его далеко за пределы среднестатистической IDE.

IDE, я считаю, должно уметь компиляцию, дебаггинг, рефакторинг, кодогенерацию, автоформатирование, статический анализ, контроль версий, подсветку кода, переход к объявлению/реализации. С vim у меня такого не получилось, возможно я не умею его готовить, но рефакторинг, статический анализ и переход к объявлению вроде как принципиально вне IDE невозможен…

С vim я знаком только шапочно, поэтому не смогу ответить объективно. Наверное стоило это написать в первом комментарии.

Однако я долгое время работал с коллегой, который использовал vim очень активно и расширил его до возможностей, сравнимых с IDE. Навигация по коду там была точно, у vim есть плагин интеграции с clang для семантического поиска и дополнения кода, есть и плагин для отладчика. Про рефакторинг ничего сказать не могу, но и для этого есть плагины.

В KDevelop я работаю уже больше 10 лет. Уверенно редактировать (да даже и просматривать!) код C++ в IDE без семантической информации мне кажется малореальным.
Стандартный интерфейс командной строки хорош тем, что его можно интегрировать в любое окружение. По поводу достаточности же скорее не соглашусь (см. выше).
Плагин к какой системе для PVS-Studio под Linux нам сделать?
Я думаю это должно решать сообщество :) Лично мне было бы интересно увидеть плагин к KDevelop5, но это только мое мнение.

Я могу только посоветовать вам или сделать стандартный интерфейс, который можно интегрировать в любую IDE или скооперироваться с другой компанией, например JetBrains, и выпустить совместный продукт, который будет работать на любой платформе.

Мне кажется, что даже минимального уровня поддержки в стиле «прогнать анализ на изменившихся файлах», «перейти к коду по клику на ошибке» было бы уже вполне достаточно для более-менее комфортной работы.

Если строки вывода будут сформатированы в стандартном для компиляторов виде, то многие IDE (например KDevelop) сами их подхватят и смогут как навигироваться, так и показывать прогресс проверки в своем статус баре (если проценты будут выводиться в стиле cmake).

Я считаю, спрашивать одного человека — практически бесполезно. Его ответ будет та IDE, которой он пользуется.


В идеале — сделать удобный интерфейс для подключения к IDE через плагин и опубликовать референсную реализацию для одной из популярных IDE — KDevelop или QtCreator, например. Тот же принцип можно было бы распространить на Windows.

На самом деле, не очень работает под виндой, под никсами бегает очень даже хорошо. Вот почему так происходит — загадка.
Мало того, что она «есть», так еще и ого-го!

Так на хабреж была статейка, как бесплатно использовать софт, реверсиндиниринг, ассемблер и т.д…
You are welcome!
Отлично. Теперь можно не делать версию под линукс и не убивать время. Можно сконцентрироваться на текущих заказчиках и множить бабло. Если IBM захочет версию под линукс и заплатит миллиард — сделать. А кому нужно будет проверить свою лабораторку за 1 курс — уже знает способ.
Я рад, что я помог вам с решением. Выплатите мне мой гонорар. Не бесплатно же вашей работой руководить.
Стыдно должно быть. Мы ведь не источаем желчь по поводу этой статьи, не просим её удалить. Лежит себе спокойно, кому нужна — найдёт. Но зачем пиарить то статью? Мы не хотим войны с кряками. Но ведь таким образом Вы можете её спровоцировать. Стыжу всех, кто так делает.
Смещно, когда кто-то пытается кого-то пристыдить в интернете по личным причинам. И с какой такой стати Вы рассуждаете об удалении статьи? Я уверен, *вы просили ее удалить, только:
  • статья уже более года
  • отличный материал в плане реверса
  • отличный материал в плане .NET
  • отличный материал в плане asm

У *вас был год на переписывание и проверку вашего кода. Я уверен, что администрация хабра не будет поддаваться на запросы блогов, пусть и платных. Иначе блоги будут выше правил ресурса и будут являть собой цензуру хабра. И последний потеряет часть аудитории. Но, я *вас не буду стыдыть, все компании и, более того, корпопации похожи друг на друга. Вот например на хабре был запрос удалить или переименовать пользователя, а он и ныне там.

В инете полно сайтов, еще больше пользователей. Рано или поздно *вы объявите войну крякам, и я здесь буду ни при чем, а *ваши деньги, только и все. Деньги, которые Вы не захотите терять.
Если бы я писал и продавал софт по аналогии с Вами, я бы озаботился его защитой. Если бы я писал софт по аналогии с Вами, я бы выложил его на github и проект был бы бесплатно допилен и портирован профессионалами своего дела из многих стран. Стыдно Вам должно быть!

*вы, с маленькой буквы, когда идет обсуждения компании в целом или группы лиц.
Если бы я ...

но за школьные каникулы Вы этого сделать не успеете, а через месяц уже опять в школу.
но за школьные каникулы Вы этого сделать не успеете, а через месяц уже опять в школу.

Спасибо на добром слове, Евгений Рыжков, генеральный директор ООО «СиПроВер». Сайт: www.viva64.com Почта: evg@viva64.com.
Рад был пообщатся с Вами в вашем блоге. Могу отправить вам список школьной литературы, и после поговорить за жизнь за стаканом парного молока, обмывая новый словарный запас и повышая ваши коммуникационные навыки.
Мне бы и лога хватила без встраивания в QtCreator, если уж на то пошло могу и сам попрыгать по коду по логу. А так как написали ниже, в виде плагина вполне удобно, как аналог консоли сборки и вывод ошибок\предупреждений.

Ну а цена… если на фирму брать, то поверьте, бывает ПО под половину лимона деревянных, в котором будут задефайнены свои MIN, MAX и коды ошибок в реализации под Linux будет всегда возвращать код 0, и ничего… покупаем как библиотеки для разработки.
Вот в то, что бывает ПО «под половину лимона деревянных» мне поверить очень легко, сам таким занимаюсь :-).
P.S. Нас часто спрашивают, уведомляем ли мы разработчиков. Иногда желание пропадает. :)

Комментарий с баг-трекера:

closed this task as «Invalid»: This is for sure not a bug report — and please do not use our tracker for advertisement of your products.

Да и бог с вами… :)

Надо сказать, что оформление бага действительно вызывает вопросы. Зачем писать откровенно рекламный текст в багтрекере? Приложили бы выжимку с подозрительными местами и комментариями и никто бы слова не сказал. Ну и ссылку на полную статью, если хочется подробностей.

Здесь же в первую очередь возникает подозрение на спамбота, даже если текст по теме.
While not a "bug" we do appreciate the writeup. I'll go through the suspicious fragments and fix if needed.

Все таки присоединюсь к предыдущему оратору, оформление бага сомнительное.

У вас какие-то двойные стандарты. Когда вам постоянно твердили, что нужна версия под Линукс, вы говорили «мало пользователей, убедите нас, покажите ваш проект, всё в индивидуальном порядке». Когда же подходит ваша очередь расписать всё по порядку и оформить отчёт надлежащим образом, вы забиваете и вместо этого, словно с барского плеча, кидаете ссылку на ваш блог. Это выглядит некрасиво. На будущее — в открытых проектах очень цениться взаимное уважение, всем наплевать на ваши регалии.
Ну это откровенное хамство. Линукс это целая платформа и на неё либо выходить основательно, либо сжигать тысячу человекочасов и закрываться на тухлой альфе. Темболее на ней будут платить ~1%, а работать должно всё будет на 100%. Тогда проще в Java с их гигантским ентерпрайзом, где без ИДЕ не разобраться. Либо в консольный геимдев, где тоже кода мильены.
Темболее на ней будут платить ~1%

спрячьте хрустальный шар, плз
Как уже сказали, с таким оформлением бага я бы тоже закрыл его как INVALID даже не вчитываясь. Но, надо отдать должное девелоперам, они не поленились, прошли по ссылке и прошлись по всем расписанным проблемам.

Тем не менее, подход вам, всё же, надо менять. Чтобы потом небыло «говно этот ваш опенсорс, неблагодарные они».

В общем, подписываюсь под словами вышеотписавшихся ораторов.
Вы же вроде опенсорс проектам предоставляете продукт бесплатно. Почему же они отказываются пользоваться статической проверкой?
Я не знаю ответа. Впрочем, статическим анализом они пользуются. По крайней мере Coverity с 2007 года: https://scan.coverity.com/projects/blender
НЛО прилетело и опубликовало эту надпись здесь
Похоже единорог слегка поправился )
Зарегистрируйтесь на Хабре, чтобы оставить комментарий