Comments 14
В ваших статьях всё выглядит просто и понятно. В жизни, я подозреваю, всё не так просто. Статический анализатор — это расширенный набор предупреждений(warnings) сообщающий о потенциальных проблемах. Эдакие warnings пятого уровня. Обычно команды выбирают какой-то свой warning level(как правило 3 или 4) и правят предупреждения только на нём. Если на таком проекте поднять warning level на единичку, то сразу вывалиться огромное количество предупреждений, которые нужно будет исправить, или хотя бы посмотреть и понять насколько реальны проблемы, о которых они сообщают.
Аналогично, если подключить статический анализатор, то он тоже выдаст кучу предупреждений о потенциально опасном коде. Лишь некоторые из них являются ошибками.
Легко сказать «чего они ждали два года, это же так просто исправить этот warning». А в реальности этих ворнингов несколько сотен. И из них лишь пара являются ошибками. И нужна воля со стороны руководства проекта, чтобы потратить ресурсы на их исправление без видимой и измеримой отдачи.
Аналогично, если подключить статический анализатор, то он тоже выдаст кучу предупреждений о потенциально опасном коде. Лишь некоторые из них являются ошибками.
Легко сказать «чего они ждали два года, это же так просто исправить этот warning». А в реальности этих ворнингов несколько сотен. И из них лишь пара являются ошибками. И нужна воля со стороны руководства проекта, чтобы потратить ресурсы на их исправление без видимой и измеримой отдачи.
+6
если подключить статический анализатор, то он тоже выдаст кучу предупреждений о потенциально опасном кодеТипичный проект без какого-либо контроля качества выглядит примерно так, как вы написали. Но это только первый запуск будет таким. На этот случай есть отключение выдачи предупреждений на существующий код. А на новом коде предупреждения уже появляются в приемлемом количестве. И есть возможность вернуться к техническому долгу.
+5
Мой коллега уже дал ответ. Я же хочу добавить, что этот и релевантные моменты подробно изложены в статье "Как внедрить статический анализатор кода в legacy проект и не демотивировать команду".
+1
DEL
0
Да, не зря Вирт в Паскале для целочисленного деления отдельный оператор сделал...
+2
Немного оффтоп — когда ваш анализатор можно будет использовать с .NET 5 проектами?
+1
Призываю foto_shooter для ответа)
0
Добрый день!
Точных сроков пока нет. :(
Но Вы можете написать мне в ЛС свою почту, и как только мы поддержим .NET 5 проекты, я Вам напишу. :)
Точных сроков пока нет. :(
Но Вы можете написать мне в ЛС свою почту, и как только мы поддержим .NET 5 проекты, я Вам напишу. :)
+1
А можете поделиться roadmap проекта PVS на следующий год? Как я понимаю, с точки зрения предупреждений для C/++ уже реализованы практически все мыслимые и немыслимые случаи, а Java и C# анализаторы не находят большой аудитории юзеров, т. к., во-первых, в этих языках сложнее допустить ошибку, а во-вторых, там есть другие, более привычные по сравнению с PVS анализаторы. Вопрос — куда планируете двигаться дальше?
+1
Что всё реализовано, это сииильное преувеличение :). Тем более, что язык развивается.
Мы напишем заметку на эту тему (roadmap).
Мы напишем заметку на эту тему (roadmap).
0
Затянул с оформлением материалов в виде статьи, но вот: Дорожная карта PVS-Studio на 2021 год.
0
Sign up to leave a comment.
Стоило ли столько ждать, чтобы найти баг?