Как стать автором
Обновить
-23
0.4

Разработчик

Отправить сообщение

Почему вам не следует использовать финализаторы

Время на прочтение5 мин
Количество просмотров18K
Не так давно мы работали над диагностикой, связанной с проверкой финализатора, и у нас с коллегой возник спор по поводу деталей работы сборщика мусора и финализации объектов. И хотя я и он занимаемся разработкой на C# более 5 лет, к общему мнению мы не пришли, и я решил изучить этот вопрос подробнее.


Читать дальше →

Как статический анализ может дополнять юнит-тестирование на примере NUnit

Время на прочтение3 мин
Количество просмотров5.5K
PVS-Studio and NUnitДовольно часто при обсуждении средств статического анализа для C# проектов программисты пишут о том, что в этом нет необходимости, потому что с помощью юнит-тестирования они отлавливают большинство ошибок. Я решил проверить, насколько хорошо протестирован один из самых известных юнит-тест фреймворков — NUnit, и посмотреть найдёт ли там что-нибудь наш анализатор.
Читать дальше →

Поиск ошибок с помощью вычисления виртуальных значений

Время на прочтение10 мин
Количество просмотров10K
В процессе работы статического анализатора точные значения или диапазоны значений некоторых переменных и выражений могут быть вычислены на этапе анализа. Это полезная информация, которую можно использовать при поиске ошибок. Мы называем такие значения виртуальными значениями, о них и будет эта статья.


Читать дальше →

О преобразовании типов в арифметических выражениях в C++ и C#

Время на прочтение3 мин
Количество просмотров15K
В арифметическом выражении типы операндов могут быть преобразованы к общему типу. Такие преобразования описаны в стандарте языка — в C# они существенно проще чем в C++. Тем не менее, скорее всего далеко не каждый программист знает обо всех тонкостях.
Читать дальше →

Об одной интересной ошибке в Lucene.Net

Время на прочтение3 мин
Количество просмотров13K

Некоторые программисты, когда слышат про статический анализ, говорят о том, что он им не нужен, так как весь их код покрыт юнит-тестами, и этого достаточно, чтобы выловить все ошибки. Мне попалась ошибка, найти которую с помощью юнит-тестов теоретически возможно, но если о ней не знать, то написать такой тест практически нереально.
Читать дальше →

Проверяем IronPython и IronRuby с помощью PVS-Studio

Время на прочтение9 мин
Количество просмотров7.9K
Совсем недавно мы выпустили новую версию нашего анализатора PVS-Studio с поддержкой проверки C# проектов. Пока на время релиза дальнейшая разработка продукта была приостановлена, я занимался тестированием анализатора. В качестве проектов для своих экспериментов я взял IronPython и IronRuby. А раз эти проекты были проверены, я решил написать небольшую статью-отчёт.



IronPython и IronRuby


IronPython и IronRuby представляют собой реализацию языков программирования Python и Ruby на платформе .NET. Исходный код этих проектов доступен на GitHub по этой ссылке. Также в комплекте идёт исходный код DLR. Начиная с .NET Framework 4.0 DLR является его частью, и IronPython и IronRuby используют её. Тем не менее я всё равно проверил старую версию DLR, раз уж она там оказалась.
Подробности

Информация

В рейтинге
2 213-й
Откуда
Тула, Тульская обл., Россия
Дата рождения
Зарегистрирован
Активность