Как стать автором
Обновить
171.79
Рейтинг
PVS-Studio
Статический анализ кода для C, C++, C# и Java
Сначала показывать

Сортировки в C#: OrderBy.OrderBy или OrderBy.ThenBy? Разбираемся, что эффективнее и почему

Блог компании PVS-Studio Программирование *.NET *C# *

Предположим, есть задача: нужно отсортировать коллекцию по нескольким ключам. В C# это можно сделать с помощью вызовов OrderBy().OrderBy() или OrderBy().ThenBy(). Но в чём разница между этими вызовами? Чтобы ответить на этот вопрос, придётся покопаться в исходниках.


0991_OrderBy_ThenBy_ru/image1.png


Статья состоит из трёх основных разделов:


  • Предыстория. Для тех, кто любит затравки. История о том, откуда вообще возникла идея провести исследование и изучить, в чём разница между OrderBy().OrderBy() и OrderBy().ThenBy().
  • Сравнение эффективности. Изучаем отличия типов сортировок с точки зрения производительности и потребления памяти.
  • Отличия в поведении. Погружаемся в исходники .NET и разбираемся, из-за чего возникают отличия в эффективности работы рассматриваемых способов сортировки.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 2.3K
Комментарии 10

Новости

Проверка JavaScript-движка Rhino, или как встретились единорог с носорогом

Блог компании PVS-Studio Open source *JavaScript *Java *

Имеется большое разнообразие языков программирования, но больше всего наши пользователи хотят, чтобы анализатор PVS-Studio поддержал один из самых популярных языков – Javascript. Одним из проектов, который можно использовать для написания статического анализатора JavaScript, является движок Rhino. В данной статье мы проведём анализ исходного кода Rhino при помощи PVS-Studio.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.7K
Комментарии 10

ML.NET: можно ли доверять машинному обучению Microsoft?

Блог компании PVS-Studio C# *Машинное обучение *

В 2018 году Microsoft разработали ML.NET – фреймворк машинного обучения для .NET разработчиков. За прошедшее время эта библиотека претерпела существенные изменения и обзавелась новыми функциями для выявления закономерностей в данных. Посмотрим, как это отразилось на качестве её исходного кода.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2.3K
Комментарии 0

Чем опасны уязвимые зависимости в проекте и как с этим помогает SCA?

Блог компании PVS-Studio Информационная безопасность *Open source *Программирование *C# *

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 757
Комментарии 2

Соберёмся? Вторая проверка проекта MSBuild

Блог компании PVS-Studio .NET *C# *Системы сборки *

MSBuild – популярная сборочная платформа с открытым исходным кодом от Microsoft, которую используют разработчики по всему миру. В далёком 2016 году мы уже проверяли проект при помощи PVS-Studio и нашли несколько подозрительных мест. Давайте посмотрим, что удалось обнаружить в коде MSBuild при повторной проверке.

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 1.6K
Комментарии 0

Как фидбек помог улучшить наш C++ квиз

Блог компании PVS-Studio Занимательные задачки C++ *C# *

Ранее в нашем блоге мы рассказывали о квизе для C++ разработчиков. С момента запуска мы тщательно собирали обратную связь. Часть из неё касалась ошибок в работе квиза, которые мы естественно решили исправить.


0985_fix_the_quiz_ru/image1.png

Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 1.5K
Комментарии 8

Триквел по Orchard Core. Повторная проверка при помощи PVS-Studio

Блог компании PVS-Studio CMS *Open source *C# *

В этой статье мы исследуем проект Orchard Core c помощью статического анализатора PVS-Studio и узнаём, так ли привлекателен код платформы, как сайты, созданные на её основе. Итак, пусть поток статического анализа несёт нас вперёд!

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 658
Комментарии 0

С PATH_MAX не всё так просто

Блог компании PVS-Studio C++ *C *
Перевод

PATH_MAX


C и C++ программисты в какой-то момент могут столкнуться с ограниченным размером PATH_MAX и задаться вопросом – какого размера создавать буфер, чтобы отследить путь к директориям или файлам?

Читать дальше →
Всего голосов 21: ↑14 и ↓7 +7
Просмотры 3.4K
Комментарии 39

PVS-Studio 7.20: Unreal Engine, SAST, SCA

Блог компании PVS-Studio

0980_Release_7_20_ru/image1.png


В этом пресс-релизе пробуем новый формат: основная информация кратко изложена в одном разделе. Если интересны детали, есть разделы с более подробным описанием. Выбирайте то, что вам ближе.

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 992
Комментарии 0

Сказ о том, как в PVS-Studio бага обновляли

Блог компании PVS-Studio Графический дизайн *Брендинг Дизайн

Помимо полюбившегося многим маскота – единорога — в PVS-Studio есть второстепенный персонаж, он же антагонист нашего продукта, баг. Однако баг не есть вездесущее, нерушимое зло, а, скорее, случай бытовой или даже рабочий. В данной статье рассказано о том, как рисовался новый персонаж, почему именно божья коровка и откуда у неё, чёрт подери, пупок.

Читать далее
Всего голосов 29: ↑27 и ↓2 +25
Просмотры 2.5K
Комментарии 17

Анализ потока данных PVS-Studio распутывает всё больше связанных переменных

Блог компании PVS-Studio .NET *C# *

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

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 1.1K
Комментарии 7

Личные границы при трудоустройстве и в офисе

Блог компании PVS-Studio Управление персоналом *Карьера в IT-индустрии

Границы есть в любых отношениях — и в семейных, и в дружеских, и в деловых. Но в каждом случае они разные. Если в семье принято целовать друг друга в щёчку при встрече, то такие жесты на работе воспримут странно. Очень важно понимать и знать свои границы. Это поможет предотвратить выгорание, избежать конфликтов и недопониманий между коллегами. Так как же огородить себя от недобросовестного работодателя и некомпетентного рекрутера? Как выстроить личные границы с коллегами? Это мы с вами сейчас и узнаем.

Читать далее
Всего голосов 24: ↑14 и ↓10 +4
Просмотры 4.1K
Комментарии 30

Зачем разработчикам Discord.NET нужен статический анализатор?

Блог компании PVS-Studio .NET *C# *

Discord.NET – библиотека, написанная на C#, которая используется для взаимодействия с Discord API. Сможет ли PVS-Studio помочь её разработчикам? Узнаете в статье!

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.5K
Комментарии 2

Почему в С++ массивы нужно удалять через delete[]

Блог компании PVS-Studio Программирование *C++ *

Заметка рассчитана на начинающих C++ программистов, которым стало интересно, почему везде твердят, что нужно использовать delete[] для массивов, но вместо внятного объяснения – просто прикрываются магическим "undefined behavior". Немного кода, несколько картинок и взгляд под капот компиляторов – всех заинтересованных прошу под кат.


delete_or_delete_for_array_ru/image1.png

Читать дальше →
Всего голосов 47: ↑43 и ↓4 +39
Просмотры 11K
Комментарии 33

Виды Application Security Testing. Как не запутаться среди SAST, DAST и IAST

Блог компании PVS-Studio Информационная безопасность *Программирование *Управление разработкой *DevOps *

Какие плюсы есть у SAST? Чем он отличается от DAST? Что такое IAST? Что значат все эти слова?! Об этом (и не только) расскажем в статье-разборе основных видов Application Security Testing (далее AST).


Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.1K
Комментарии 2

Что такое CVE и какие угрозы там хранятся?

Блог компании PVS-Studio Информационная безопасность *

В публикациях о различных уязвимостях и инцидентах информационной безопасности часто встречается аббревиатура CVE. CVE (Common Vulnerabilities and Exposures) – это список известных уязвимостей и дефектов безопасности. Рассмотрим, что он из себя представляет и какие дефекты безопасности из него были востребованы у хакеров в 2021 году.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 3.9K
Комментарии 0

Конкурс внимательности: PVS-Studio vs Хакер

Блог компании PVS-Studio Программирование *Совершенный код *C++ *C *

PVS-Studio vs Хакер


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

Читать дальше →
Всего голосов 51: ↑41 и ↓10 +31
Просмотры 3.5K
Комментарии 3

Предупреждения помогают писать лаконичный код

Блог компании PVS-Studio Совершенный код *C++ *C *

Единорог PVS-Studio ужимает слона
Некоторые предупреждения анализатора или компилятора сложно однозначно классифицировать как ложное срабатывание или указание на настоящую ошибку. Бывает, что формально анализатор/компилятор прав, но и код работает правильно. Что делать? Возможно, это повод упростить код.

Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Просмотры 2.7K
Комментарии 4

CWE Top 25 2022. Обзор изменений

Блог компании PVS-Studio Информационная безопасность *Java *C++ *C# *

Список CWE Top 25 отражает наиболее серьёзные недостатки безопасности ПО. Предлагаю вам ознакомиться с обновлённым топом в обзоре изменений за прошедший год.


CWE_top_25_2022_ru


Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 1.9K
Комментарии 0

Есть ли в вашей IDE баги? Проверка AvalonStudio с помощью PVS-Studio

Блог компании PVS-Studio Open source *.NET *C# *

Разработчики по всему миру ежедневно используют свои любимые IDE для создания программного обеспечения. Сегодня мы проверим одну из них и рассмотрим самые интересные найденные ошибки.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 1.5K
Комментарии 0

Информация

Дата основания
2008
Местоположение
Россия
Сайт
pvs-studio.com
Численность
31–50 человек
Дата регистрации