Привет, Хабр!
Не так давно я сходил на конференцию
CLRium от
sidristij, где увидел довольно простой и удобный способ для анализа исходного кода C# в MSVS 2015.
Задача взята из проекта, в котором я участвую: каждый аргумент со ссылочным типом должен иметь аттрибут NotNull или CanBeNull (которые потом
использует ReSharper). В реальности, конечно, в самом проекты атрибуты являются только частью проверок, однако это не мешает им быть обязательными. Уже есть тесты, которые проверяют сборку и падают, если методы или конструкторы не содержат требуемых атрибутов, однако разработчики все равно довольно часто забывают их проставить, что приводит к падениям билдов, обновлению кода и т.д. Вот если бы Visual Studio вместе с ReSharper выдавали бы предупреждения, что код не совсем хороший, то можно было бы сэкономить время и нервы…
И, на самом деле, вместе с новой студией это становится возможным! Более того, сделать свои проверки нереально просто.
Исходный код можно посмотреть тут.