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

Комментарии 11

Ну, как вам сказать:), что можно ожидать от кода, entry point которого называется MikesArchitecture? Комьюнити в последнее время пытается причесать этого монстра, но поддается он с трудом.

Так что у меня есть фичареквест для любого анализатора: если он встречает метод с именем _Some_Authors_Name_Architecture, то прекращает анализ с сообщением, что он сдается и дальше не готов анализировать код дабы не повредить свою психику:)
Ошибка с InsideMonitor может быть и не ошибкой, если InsideMonitor — свойство, на сеттер которого может быть повешена хитрая логика, влияющая на инициализацию symbols (хотя с виду symbols обычное поле).
public struct Data
{
  public readonly bool IsReached;
  private readonly List<Variable> symbols;
  public bool InsideMonitor /* = false*/;
....

Пока исходники под рукой, нашёл полный код, это просто поля, даже есть коммент, но код всё равно подозрительный.

Если каким-то диагностикам приходится работать со свойствами, то мы пытаемся определить их сложность и не выдавать предупреждения.
Реквестирую проверку CoreCrl.
NuGet. Вряд ли что-то из нерассмотренного используется активнее его.
С типом char в Java много раз встречал проверки вроде if(char > 0xFFFF) или что-то вроде if(char < 0x1FFFF). Люди иногда забывают, что char — это UTF-16 code unit, а вовсе не code point, и чтобы нормально анализировать UTF-16 строку, надо учитывать суррогатные пары.
Всем, кому интересна эта тема. Мы выпустили релизную версию PVS-Studio 6.00 с поддержкой C#. Приглашаю скачать и попробовать: www.viva64.com/ru/pvs-studio-download
Зарегистрируйтесь на Хабре, чтобы оставить комментарий