Pull to refresh

Comments 14

В ваших статьях всё выглядит просто и понятно. В жизни, я подозреваю, всё не так просто. Статический анализатор — это расширенный набор предупреждений(warnings) сообщающий о потенциальных проблемах. Эдакие warnings пятого уровня. Обычно команды выбирают какой-то свой warning level(как правило 3 или 4) и правят предупреждения только на нём. Если на таком проекте поднять warning level на единичку, то сразу вывалиться огромное количество предупреждений, которые нужно будет исправить, или хотя бы посмотреть и понять насколько реальны проблемы, о которых они сообщают.
Аналогично, если подключить статический анализатор, то он тоже выдаст кучу предупреждений о потенциально опасном коде. Лишь некоторые из них являются ошибками.

Легко сказать «чего они ждали два года, это же так просто исправить этот warning». А в реальности этих ворнингов несколько сотен. И из них лишь пара являются ошибками. И нужна воля со стороны руководства проекта, чтобы потратить ресурсы на их исправление без видимой и измеримой отдачи.
если подключить статический анализатор, то он тоже выдаст кучу предупреждений о потенциально опасном коде
Типичный проект без какого-либо контроля качества выглядит примерно так, как вы написали. Но это только первый запуск будет таким. На этот случай есть отключение выдачи предупреждений на существующий код. А на новом коде предупреждения уже появляются в приемлемом количестве. И есть возможность вернуться к техническому долгу.

Да, не зря Вирт в Паскале для целочисленного деления отдельный оператор сделал...

Python 3 аналогично: / и //.

Немного оффтоп — когда ваш анализатор можно будет использовать с .NET 5 проектами?
Добрый день!

Точных сроков пока нет. :(
Но Вы можете написать мне в ЛС свою почту, и как только мы поддержим .NET 5 проекты, я Вам напишу. :)

А можете поделиться roadmap проекта PVS на следующий год? Как я понимаю, с точки зрения предупреждений для C/++ уже реализованы практически все мыслимые и немыслимые случаи, а Java и C# анализаторы не находят большой аудитории юзеров, т. к., во-первых, в этих языках сложнее допустить ошибку, а во-вторых, там есть другие, более привычные по сравнению с PVS анализаторы. Вопрос — куда планируете двигаться дальше?

Что всё реализовано, это сииильное преувеличение :). Тем более, что язык развивается.
Мы напишем заметку на эту тему (roadmap).

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


язык развивается

Почему-то именно в контексте языка C/++ это звучит как "появилось еще больше способов выстрелить себе в ногу" :-) Шучу, кочечно.

Sign up to leave a comment.