Мы закончили сравнивать статические анализаторы кода CppCat, Cppcheck, PVS-Studio и анализатор встроенный в Visual Studio 2013. В ходе этого было проверено более 10 открытых проектов. И про некоторые из них можно написать статьи. Вот очередная такая статья о результатах проверки проекта CryEngine 3 SDK.
Читать полностью »
Рубрика «c++» - 204
Побочный результат: проверяем CryEngine 3 SDK с помощью CppCat
2014-03-10 в 14:11, admin, рубрики: bugs, c++, code review, cppcat, game development, pvs-studio, Блог компании PVS-Studio, ошибки в коде, ошибки в программе, метки: bugs, c++, code review, cppcat, pvs-studio, ошибки в коде, ошибки в программе, СиКак работают сигналы и слоты в Qt (часть 2)
2014-03-09 в 21:50, admin, рубрики: c++, qt, Qt Software, Программирование, сигналы и слоты изнутри
От переводчика: это вторая часть перевода статьи Olivier Goffart о внутренней архитектуре сигналов и слотов в Qt 5, перевод первой части тут.
Читать полностью »
В этом посте я поговорю о простом, но иногда полезном приеме программирования — method chaining. Также расскажу про потенциальный подводный камень, связанный с его использованиемЧитать полностью »
Создание и использование плагина для Clang в Xcode
2014-03-03 в 6:11, admin, рубрики: c++, clang, clang plugin, compiler, LLVM, xcode, КомпиляторыДанный туториал описывает создание плагина для Clang и покрывает следующие шаги:
- настройка окружения
- создание базового плагина
- создание Xcode-проекта для разработки плагина
- генерирование предупреждений
- генерирование ошибок
- интеграция плагина в Xcode
- интерактивные подсказки по устранению предупреждений и ошибок
TL;DR
Готовый плагин можно найти здесь
Читать полностью »
Как работают сигналы и слоты в Qt
2014-03-02 в 23:08, admin, рубрики: c++, qt, Qt Software, Программирование, сигналы и слоты изнутри
Qt хорошо известен своим механизмом сигналов и слотов. Но как это работает? В этом посте мы исследуем внутренности QObject и QMetaObject и раскроем их работу за кадром. Я буду давать примеры Qt5 кода, иногда отредактированные для краткости и добавления форматирования.
Читать полностью »
Сколько стоит одна ошибка в наших программах, или какие ошибки бывают в PVS-Studio и CppCat
2014-02-28 в 5:58, admin, рубрики: c++, cppcat, pvs-studio, Блог компании PVS-Studio, пятница, статический анализ кода, метки: cppcat, pvs-studio, пятница, статический анализ кодаВ списке вопросов, которые всегда задают нам после прочтения наших статей есть вопрос: «А вы проверяете код своего анализатора им самим?». И дается ответ в том ключе, что у нас всегда проверяется код во время написания с помощью режима инкрементального анализа (проверки файлов сразу после компиляции). А также запускаются ночные проверки для всего кода. И в связи с этим мы, к сожалению (ирония), никогда не сможем написать статью про ошибки в наших программных продуктах.
Однако сегодня – именно статья про одну нашу ошибку и про то, сколько она нам стоила. Заинтриговал?
Плагин поиска дублирующегося кода для QtCreator
2014-02-25 в 18:31, admin, рубрики: c++, plugin, qt, Qt Software, QtCreator, quality assurance, Совершенный код, метки: plugin, Qt, qtcreator, quality assurance
Дублирующийся код осложняет внесение изменений, понимание исходных текстов и их дальнейшее сопровождение. Для того, чтобы избежать дублирования, а также для оценки качества кода и его рефакторинга, в составе некоторых IDE есть встроенные средства для поиска повторяющихся фрагментов кода. Для других IDE написаны плагины. Однако для среды разработки QtCreator до настоящего момента ни встроенных средств, ни плагинов поиска повторов не было.
В статье описывается два решения задачи автоматического поиска дубликатов в данной IDE: с помощью средства интеграции сторонних утилит и с помощью разработанного плагина, который надеюсь будет полезен программистам C++, использующим QtCreator.
Читать полностью »
Вышел NetBeans IDE 8.0 Beta
2014-02-22 в 22:07, admin, рубрики: c++, html5, IDE, java, netbeans, php, Веб-разработка, разработка, Софт, среда разработки, метки: c++, html5, IDE, java, netbeans, PHP, среда разработкиУже как пару месяцев назад, тихо и без шумихи вышла Beta-версия замечательной среды разработки NetBeans IDE.
Напомню, что NetBeans — это продвинутая среда разработки, позволяющая разрабатывать приложения на таких языках как: PHP, C/C++, Python, JavaScript и даже Ада.
Хотя NetBeans IDE является свободной средой разработки и проект разрабатывается сообществом разработчиков-энтузиастов, но по качеству и возможностям не уступает коммерческим IDE.
Из коробки поддерживается:
- рефакторинг и профилирование
- выделение синтаксических конструкций цветом
- автодополнение на лету
- управление всеми популярными системами контроля версий
Что нового в NetBeans 8.0 Beta?
- Поддержка Java SE 8
- Поддержка Java ME 8
- Расширенная поддержка HTML5
- Поддержка Tomcat 8.0
- Поддержка PHP 5.5
- Множество улучшений всей IDE
Умный видеоплеер или просто распознавание жестов
2014-02-21 в 9:54, admin, рубрики: c++, computer vision, qt, qt quick, Qt Software, обработка изображений, параллельное программирование, метки: c++, computer vision, Qt, qt quick, параллельное программированиеВведение
В этой статье речь пойдёт о распознавании жестов. Я считаю, что эта тема на сегодняшний день очень актуальна, потому что этот способ ввода информации более удобен для человека. В YouTube можно увидеть много роликов про распознавание, отслеживание предметов, в хабре тоже есть статьи по этой теме, так вот, я решил поэкспериментировать и сделать что-то своё, полезное и нужное. Я решил сделать видеоплеер, которым можно управлять жестами, потому что сам иногда очень ленюсь взяться за мышку, найти этот ползунок и перемотать чуть-чуть вперёд или чуть-чуть назад, особенно, когда смотрю фильмы на иностранном языке (там приходится часто перематывать назад).
В статье, в основном, речь будет идти о том, как я реализовал распознавание жестов, а о видеоплеере я только скажу в общем.
Читать полностью »
Побочный результат: проверяем Firebird с помощью PVS-Studio
2014-02-21 в 8:32, admin, рубрики: c++, code review, firebird, Firebird/Interbase, pvs-studio, Блог компании PVS-Studio, инструменты разработчика, обзор кода, статический анализ кода, метки: c++, code review, firebird, pvs-studio, инструменты разработчика, обзор кода, Си, статический анализ кода
Сейчас мы заняты большой задачей. Мы хотим провести сравнение четырёх анализаторов кода: CppCat, Cppcheck, PVS-Studio и Visual Studio 2013 (встроенный анализатор кода). Для этого мы решили проверить не менее 10 открытых проектов и проанализировать отчёты, которые выдадут анализаторы. Это очень трудоёмкая задача и пока она не завершена. Но так как ряд проектов уже проверен, то про некоторые из них можно написать статьи. Чем я сейчас и займусь. Для начала опишу, что интересного удалось найти с помощью PVS-Studio в Firebird.
Читать полностью »