Недавно инспектировал код одного приложения и выписал список вопросов разработчикам с ответами.
Приложение основано на клиент серверном взаимодействии, с регистрацией и обновлением некоторых данных.
Читать полностью »
Рубрика «code review» - 7
Написал и забыл: или как пишут код аутсорсеры
2014-05-29 в 8:33, admin, рубрики: android, android development, code review, outsourcing, Разработка под androidCppCat провереяет OpenMW: во вселенной Morrowind не всё гладко
2014-05-28 в 5:38, admin, рубрики: bugs, c++, code review, cppcat, game development, static code analysis, Блог компании PVS-Studio, разработка игр, статический анализ кода, метки: bugs, c++, code review, cppcat, static code analysis, разработка игр, Си, статический анализ кода
Я проверил проект OpenMW с помощью CppCat и написал эту крошечную статью. Нашлось слишком мало ошибок. Но меня просили написать про это проверку этого проекта статью, и вот она.
Читать полностью »
Побочный результат: проверяем 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, ошибки в коде, ошибки в программе, Си
Мы закончили сравнивать статические анализаторы кода CppCat, Cppcheck, PVS-Studio и анализатор встроенный в Visual Studio 2013. В ходе этого было проверено более 10 открытых проектов. И про некоторые из них можно написать статьи. Вот очередная такая статья о результатах проверки проекта CryEngine 3 SDK.
Читать полностью »
Вещи, которые должен делать каждый: Code Review
2014-03-10 в 8:50, admin, рубрики: code review, coworking, Google, teamwork, разработкаСамая значимая вещь, которая делает код в компании Google таким хорошим проста — code review (далее CR). Google не единственная компания, использующая CR. Всем известно, что это хорошая идея и множество разработчиков делают это. Но я не видел ни одной другой большой компании, в которой CR был бы так грамотно внедрен. В Google ни одная линия кода не уходит в production пока не получит позитивную оценку на CR.
Вы должны уделять внимание CR. Это непременное условие для разработки любого программного обеспечения на серьезном уровне. CR должен применяться не только для кода который уходит в production, но вообще для всего. Это не такая большая разница во времени как вы думаете, но разница в качестве получается огромна.
Что же вы получите от использования CR?
Читать полностью »
Побочный результат: проверяем 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.
Читать полностью »
Предновогодняя проверка PostgreSQL
2013-12-24 в 6:06, admin, рубрики: c++, code review, memcmp, postgresql, pvs-studio, Блог компании PVS-Studio, статический анализ кода, метки: c++, code review, memcmp, postgresql, pvs-studio, статический анализ кода
Год заканчивается, а я давно не писал заметок о проверке открытых проектов. Мне уже неоднократно предлагали проверить проект PostgreSQL Database Management System. Этим я и занялся. К сожалению, грандиозной и интересной статьи не получится. Я заметил только несколько типовых ошибок. Так что в этот раз получилась совсем небольшая статья.
ЦЦБ или управление по управлению версиями программного кода
2013-10-30 в 5:14, admin, рубрики: code review, svn, Блог компании Intel, Системы управления версиями, метки: code review, svnРазработка любого современного программного продукта не обходится без использования системы управления версиями программного кода (например, Subversion). Данный пост о том, что в некоторых случаях для успешного выпуска продукта одной только системы управления версиями становится недостаточно, и необходимо использовать некоторый инструмент для расширения ее функциональности.
Гладко было на бумаге
Разработчики имели разный опыт работы в нашем проекте Intel® Media SDK, и, как следствие, разное понимание рисков и последствий, которые несли их коммиты. Коммиты не тестировались разработчиками вовсе, или объем их тестирования был недостаточен.
Некоторые некорректные/не вовремя сделанные коммиты (например, ориентированные не на текущую, а на следующую версию продукта) приводили к появлению существенных (show stopper) ошибок на стадии, непосредственно предшествующей выпуску продукта. В условиях ограниченного временного ресурса разработчики испытывали немалые трудности в установлении причин их появления. Так как ошибки не могли быть исправлены немедленно, это приводило к сдвигу даты выпуска продукта.
Все это усложнялось еще и тем, что не всегда коммиты в системе управления версиями достаточно хорошо комментировались. Любые попытки изменить такое положение дел в нашем проекте были безуспешными.
Как решение вышеназванных проблем в нашем проекте был разработан CCB Читать полностью »
WTF?
2013-10-01 в 7:36, admin, рубрики: c++, code review, open source, pvs-studio, wtf, Блог компании PVS-Studio, обзор кода, ошибки в программе, Программирование, С++, метки: code review, open source, pvs-studio, wtf, обзор кода, ошибки в программе, С++, Си
Меня не покидает когнитивный диссонанс. На форумах обсуждаются возвышенные идеи о написании сверх надежных классов, кто-то рассказывает, что его проект собирается с ключами -Wall -Wextra -pedantic -Weffc++. Господи, где все эти достижения науки и техники? Почему я вижу кругом глупейшие ошибки? Может быть, со мной что-то не так?
Заземлённые указатели
2013-08-28 в 7:44, admin, рубрики: c++, code review, Cpp, cppcheck, Блог компании PVS-Studio, методологии разработки, обзор кода, разработка, разработка программного обеспечения, С++, указатели, метки: code review, Cpp, cppcheck, методологии разработки, обзор кода, разработка программного обеспечения, С++, указатели
Не так давно, один из сотрудников покинул наш коллектив и присоединился к компании, занимающийся разработкой программного обеспечения, связанного с встраиваемыми системами. Ничего особенного в этом нет, всегда и везде, кто-то уходит, а кто-то приходит. Всё зависит от количества плюшек, удобства и предпочтений. Интересно другое. Человек искренне переживает за состояние кода на новом месте работы, что в результате и вылилось в эту совместную статью. Тяжело, «просто программировать», когда знаешь, что такое статический анализ кода.
Читать полностью »
PVS-Studio наконец то добрался до Boost
2013-08-21 в 10:53, admin, рубрики: boost, c++, code review, cplusplus, pvs-studio, Блог компании PVS-Studio, статический анализ кода, тестирование, метки: boost, c++, code review, cplusplus, pvs-studio, статический анализ кода
Мы уже давно хотели проверить библиотеку Boost. У нас не было уверенности, что результатов проверки хватит на статью. Однако, желание не пропадало. Два раза мы пытались сделать это, но отступали, не разобравшись, как заменить вызов компилятора на вызов PVS-Studio.exe. Теперь мы вооружились новым инструментарием, и третья попытка оказалась удачной. Итак, возможно ли найти в Boost ошибки?