Пользователи иногда спрашивают, как появляются новые диагностики в статическом анализаторе PVS-Studio. Мы отвечаем, что черпаем вдохновение из разнообразнейших источников: книг, стандартов кодирования, собственных ошибок, писем наших пользователей и так далее. Сегодня мы придумали новую интересную диагностику и решили рассказать историю, как это произошло.
Рубрика «качество кода»
Пример, как в PVS-Studio появляются новые диагностики
2021-03-20 в 15:10, admin, рубрики: C, c++, CovidSim, MISRA, MISRA C, pvs-studio, баги, Блог компании PVS-Studio, информационная безопасность, качество кода, медицинское по, обзор кода, ошибки в коде, ошибки в программе, Программирование, Совершенный код, тестирование поКак внедрить статический анализатор кода в legacy проект и не демотивировать команду
2020-06-20 в 14:05, admin, рубрики: devops, DevSecOps, pvs-studio, Блог компании PVS-Studio, информационная безопасность, качество кода, Программирование, Совершенный код, старый код, статический анализ кода, статический анализатор кода, Управление продуктом
Попробовать статический анализатор кода легко. А вот, чтобы внедрить его, особенно в разработку большого старого проекта, потребуется умение. При неправильном подходе анализатор может добавить работы, замедлить разработку и демотивировать команду. Давайте кратко поговорим, как правильно подойти к интеграции статического анализа в процесс разработки и начать его использовать как часть CI/CD.
Читать полностью »
Как писать меньше кода и получать больше толку
2019-10-07 в 14:35, admin, рубрики: legacy-код, Блог компании Цифровые Экосистемы, качество кода, поддержка кода, Программирование, Совершенный кодКак справедливо заметил легендарный писатель Жюль Верн: «Хорошо использованный минимум вполне достаточен». В нашу эпоху понятие хорошо использованного минимума применимо и к коду. Печально, но факт: в современном мире кода слишком много. Если быть точнее, то слишком много ненужного кода, среди которого код полезный просто задыхается.
Учитывая вышесказанное, ненужный код – это зло по умолчанию. Он портится со временем. Он требует постоянной поддержки. Он содержит баги, которые нужно выискивать. Когда появляются новые функции, старый код приходится к ним приспосабливать. Чем больше у вас кода, тем больше ошибок может в нем затаиться. Чем больше времени занимают проверки или компиляции, тем дольше новый сотрудник будет разбираться в вашей системе.
И вдобавок ко всей этой чехарде, код пишется программистами. Чем его больше, тем больше требуется программистов. С увеличением числа программистов растут и затраты на коммуникацию между ними, что еще дополнительно вносит лепту в копилку расходов на разработку и сопровождение кода.
Читать полностью »
Работа с возражениями: статический анализ будет отнимать часть рабочего времени
2019-09-12 в 11:30, admin, рубрики: ci, devops, pvs-studio, SAST, Блог компании PVS-Studio, качество кода, ошибки в коде, Программирование, статический анализ кода, тестирование, Тестирование IT-систем, управление проектами, управление разработкойОбщаясь с людьми на конференциях и в комментариях к статьям, мы сталкиваемся со следующим возражением: статический анализ сокращает время на нахождение ошибок, но отнимает время у программистов, что нивелирует пользу от его использования и даже наоборот тормозит процесс разработки. Давайте разберём это возражение и покажем, что оно беспочвенно.
Читать полностью »
Как проводить код-ревью
2019-09-11 в 14:54, admin, рубрики: качество кода, менторинг, Программирование, Проектирование и рефакторинг, рефакторингИз документации Google's Engineering Practices
В этом руководстве приведены рекомендации по оптимальному проведению код-ревью, основанные на многолетнем опыте. Все вместе они составляют один документ, разбитый на множество разделов. Необязательно читать их все, но часто для себя и команды лучше изучить руководство полностью.
- Стандарт код-ревью
- Что проверять в коде
- Навигация по списку изменений (CL)
- Скорость код-ревью
- Как писать комментарии
- Как преодолевать сопротивление
См. также Руководство автора CL, в котором даются подробные советы разработчикам, чьи коммиты проходят ревью.
Читать полностью »
История о том, как PVS-Studio нашёл ошибку в библиотеке, используемой в… PVS-Studio
2019-08-08 в 8:24, admin, рубрики: .net, bugs, C#, code quality, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, качество кода, ошибки, разработка под windows, статический анализ кода
Это небольшая история о том, как с помощью PVS-Studio удалось найти ошибку в исходном коде библиотеки, используемой в PVS-Studio. Причём не теоретическую, а фактическую — ошибка проявлялась на практике при использовании библиотеки в анализаторе.
Читать полностью »
Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux
2019-08-06 в 8:23, admin, рубрики: C, c++, cmake, code review, devops, eclipse, linux, linux development, linux devops, make, makefile, pvs-studio, PVS-Studio for Linux, qmake, SAST, sonarqube, static code analysis, static code analyzer, waf, Блог компании PVS-Studio, качество кода, обзор кода, Разработка под Linux, Си, статический анализ кодаPVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux.
Установка
Установить PVS-Studio под Linux можно разными способами, в зависимости от типа дистрибутива. Наиболее удобный и предпочтительный способ – использование репозитория: так это позволяет автоматически обновлять анализатор при выходе новых версий. Второй вариант – использовать установочный пакет, который можно скачать здесь.
Читать полностью »
Статический анализ улучшит кодовую базу сложных C++ проектов
2019-08-03 в 18:35, admin, рубрики: c++, legacy code, SAST, Блог компании PVS-Studio, качество кода, Программирование, размер имеет значение, Совершенный код, старый код, статический анализ, статический анализ кода, статический анализатор кода
Постепенно и незаметно складывается ситуация, когда сложность серьёзных C++ проектов становится запредельной. К сожалению, теперь C++ программист не может полагаться только на свои силы.
Читать полностью »
Мелкая питонячая радость #4: Radon — качество кода, измеренное в числах
2019-06-20 в 10:56, admin, рубрики: maintainable, python, качество кода, мелкая питонячая радостьИнженеры очень любят измерения и числа. Поэтому нет ничего удивительного в том, что они пытаются измерять в численном виде такую нетривиальную штуку, как качество кода.
Метрик для оценки текстов программ придумали немало — от банального количества строк кода в проекте до не столь очевидного "индекса поддерживаемости" (Maintainability Index). Подробно про все существующие способы обмазывания кода всякими метриками можно почитать в этой статье.
В мире Python, конечно же, есть своя штука для оценки качества кода. Она называется radon. Она написана на этом же самом Python и работает исключительно с питонячими файлами.