Учимся рефакторить код на примере багов в TDengine, часть 3: плата за лень

Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать логику простой и избегать макросов. Давайте рассмотрим некоторые фрагменты кода и подумаем, как можно провести его рефакторинг так, чтобы багам просто не было там места. В этот раз поговорим про написание кода методом Copy-Paste . С одной стороны, программисты знают, что копирование кода с последующей его модификацией провоцирует ошибки и опечатки. С другой — набирать каждый раз фрагмент кода, похожий на уже написанный, скучно и непродуктивно. Здесь важно соблюдать некий баланс, который сложно сформулировать и понимание которого приходит с опытом.

https://habr.com/ru/companies/pvs-studio/articles/895978/

#си #си++ #статический_анализ_кода #программирование #рефакторинг #c #c++ #sast #static_code_analysis #TDengine #code_review #refactoring #bugs #баги #ошибки_в_коде

Учимся рефакторить код на примере багов в TDengine, часть 3: плата за лень

Проверяя код проекта TDengine с помощью PVS-Studio, можно встретить код с запахом, канонические ошибки и опечатки. Многое из этого можно избежать, если изначально аккуратно оформлять код, делать...

Хабр

В преддверии испытаний статических анализаторов под руководством ФСТЭК России

В 2024 году вышел ГОСТ Р 71207 — Статический анализ программного обеспечения. Однако пользователям анализаторов сложно определять, насколько тот или иной инструмент соответствует критериям, изложенным в стандарте. Поэтому ФСТЭК России в 2025 году организует испытания статических анализаторов, результаты которых будут опубликованы в конце года. Ближайший этап — это выработка критериев оценки, и я решил предварительно изложить некоторые мысли по этой теме, которые, возможно, будут интересны жюри и участникам.

https://habr.com/ru/companies/pvs-studio/articles/883556/

#pvsstudio #статический_анализ_кода #анализатор_кода #SAST #static_code_analysis #фстэк #фстэк_россии #гост_р_712072024 #ГОСТ #си #си++ #c #cpp #csharp #java #критическая_ошибка

В преддверии испытаний статических анализаторов под руководством ФСТЭК России

В 2024 году вышел ГОСТ Р 71207 — Статический анализ программного обеспечения. Однако пользователям анализаторов сложно определять, насколько тот или иной инструмент соответствует критериям, изложенным...

Хабр

PVS-Studio соответствует требованиям ГОСТ Р 71207—2024 (статический анализ программного обеспечения)

Инструментальное средство PVS-Studio разрабатывается с учётом требований, предъявляемых к статическим анализаторам в ГОСТ Р 71207–2024, выявляет критические ошибки и может использоваться при разработке безопасного программного обеспечения. Рассмотрим функциональные возможности, реализованные в PVS-Studio на конец 2024 года в отношении анализа исходного кода программного обеспечения, написанного на компилируемых языках программирования C, C++, C#, Java.

https://habr.com/ru/companies/pvs-studio/articles/868578/

#pvsstudio #информационная_безопасность #статический_анализ_кода #ГОСТ_Р_712072024 #ГОСТ_Р_71207 #ГОСТ_Р_56939 #SAST #c #c++ #java #c# #си #си++ #static_code_analysis #анализ_программы #анализ_потоков_данных #контекстночувствительный_анализ #критические_ошибки #CWE #SARIF #РБПО #разработка_безопасного_ПО #использование_чувствительных_данных

PVS-Studio соответствует требованиям ГОСТ Р 71207—2024 (статический анализ программного обеспечения)

Инструментальное средство PVS-Studio разрабатывается с учётом требований, предъявляемых к статическим анализаторам в ГОСТ Р 71207–2024, выявляет критические ошибки и может использоваться при...

Хабр
Tips & Trickes — NDepend: A Powerful Tool for .NET Code Analysis

In a previous article of the “Tips & Tricks” series, we explored various features of Visual Studio and other packages that can be useful for daily developer tasks. I decided to include this tool in…

Medium

DPDK: 100 больших и маленьких багов

В своей обители в Р'лайхе мёртвый Ктулху спит в ожидании своего часа. А в C коде проекта DPDK спит множество ошибок, и тоже в ожидании своего часа. Давайте посмотрим, какие из них может выявить анализатор PVS-Studio.

https://habr.com/ru/companies/pvs-studio/articles/857860/

#DPDK #Data_Plane_Development_Kit #C #программирование #баги #ошибки_в_коде #static_code_analysis #SAST #статический_анализ_кода #анализ_кода #информационная_безопасность #PVSStudio #open_source

DPDK: 100 больших и маленьких багов

В своей обители в Р'лайхе мёртвый Ктулху спит в ожидании своего часа. А в C коде проекта DPDK спит множество ошибок, и тоже в ожидании своего часа. Давайте посмотрим, какие из них может выявить...

Хабр

Поймай уязвимость своими руками: пользовательские аннотации C# кода

Думаю, для многих не секрет, что уязвимости в проекте могут оказать на него крайне негативное влияние. Существует ряд способов по борьбе с уязвимостями, начиная с ручного поиска и заканчивая использованием специализированных инструментов. Об одном из таких инструментов пойдёт речь в статье.

https://habr.com/ru/companies/pvs-studio/articles/853368/

#аннотации #json #статический_анализ #static_analysis #static_code_analysis #json_schema #атрибуты #c# #информационная_безопасность

Поймай уязвимость своими руками: пользовательские аннотации C# кода

Думаю, для многих не секрет, что уязвимости в проекте могут оказать на него крайне негативное влияние. Существует ряд способов по борьбе с уязвимостями, начиная с ручного поиска и заканчивая...

Хабр

Пользовательские аннотации кода для PVS-Studio

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

https://habr.com/ru/companies/pvs-studio/articles/848250/

#аннотации #аннотации_типов #json #статический_анализ #static_analysis #static_code_analysis #json_schema #атрибуты

Пользовательские аннотации кода для PVS-Studio

Как часто ваш статический анализатор не справляется с пониманием нюансов исходного кода? Наверняка это происходит чаще, чем хотелось бы. В этой статье мы расскажем о том, как мы с этим боролись, а...

Хабр

Статический анализ структуры базы данных в проекте GitLab

Возможно ли применить статический анализ структуры базы данных к реальным проектам, которые используют PostgeSQL, какой будет результат? Давайте применим и посмотрим что получится. В качестве реальных проектов возьмем инструменты с открытым кодом, которыми многие пользуются ежедневно - GitLab и Redmine.

https://habr.com/ru/articles/839402/

#sql #postgresql #verification #static_code_analysis #gitlab

Статический анализ структуры базы данных в проекте GitLab

Возможно ли применить статический анализ структуры базы данных к реальным проектам, которые используют PostgeSQL, какой будет результат? Давайте применим и посмотрим что получится. В качестве...

Хабр

Статический анализ структуры базы данных (часть 3)

Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным индексами. Статический анализ не учитывает размер индексов и частоту их использования, которые используются в эвристиках других анализаторов. В первой статье цикла рассмотрена проверка корректности выбора индекса для полей, содержащих массив значений.

https://habr.com/ru/articles/821993/

#sql #postgresql #verification #static_code_analysis

Статический анализ структуры базы данных (часть 3)

Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным индексами. Статический анализ не учитывает размер индексов и частоту их...

Хабр

Проверка игрового движка qdEngine, часть первая: топ 10 предупреждений PVS-Studio

Баги, которые удалось найти в движке qdEngine, оказались весьма разнообразны, поэтому не хочется мешать всё в кучу в одной публикации. Читатели могут упустить интересные темы, связанные с написанием качественного кода. Поэтому разбор проекта выйдет в виде серии публикаций, первая из которых посвящается наиболее интересным срабатываниям с точки зрения плагина PVS-Studio.

https://habr.com/ru/companies/pvs-studio/articles/810987/

#c++ #си++ #разработка_игр #игры #братья_пилоты #следствие_ведут_колобки #qdEngine #PVSStudio #статический_анализ_кода #static_code_analysis #SAST #баги #ошибки_в_коде #gamedev

Проверка игрового движка qdEngine, часть первая: топ 10 предупреждений PVS-Studio

Баги, которые удалось найти в движке qdEngine, оказались весьма разнообразны, поэтому не хочется мешать всё в кучу в одной публикации. Читатели могут упустить интересные темы, связанные с написанием...

Хабр