![[Снимок экрана 2024-07-31 в 08.14.22.png|400]] Inspect This (Инспекция элемента кода) - Позволяет выполнять статический анализ выбранного элемента кода. Rider проверяет код на наличие ошибок, потенциальных проблем, нарушений стандартов кодирования и производительности. Это помогает улучшить качество кода и найти скрытые баги. ### Как открыть контекстное меню `Inspect This` - Ставим каретку на элемент кода. Далее есть два способа - Способ 1 - Используем комбинацию ⇧ + ⌥ + ⌘ + A - Способ 2 - Используем комбинацию ⌥ + Enter - Находим в появившемся контекстном меню опцию `Inspect This` ### Описание опций 2. **Incoming Calls** - **Входящие вызовы**: - Показывает все места в кодовой базе, где данный метод или свойство вызывается. Это полезно для понимания, как и где используется этот элемент кода, особенно если нужно внести изменения и оценить их влияние на всю систему. 3. **Outgoing Calls** - **Исходящие вызовы**: - Показывает все методы и функции, которые вызываются из данного метода или свойства. Это помогает понять, какие зависимости и вызовы осуществляются из текущего элемента, что важно для анализа логики и поведения программы. 4. **Value Origin** - **Источник значения**: - Показывает, откуда приходит значение для данного элемента. Это может быть полезно для отслеживания потока данных и понимания, какие переменные или методы влияют на значение текущего элемента. 5. **Value Destination** - **Назначение значения**: - Показывает, куда идет значение текущего элемента. Это помогает понять, как и где используется результат работы текущего элемента, что важно для анализа влияния изменений на код. 6. **Code Issues** - **Проблемы кода**: - Открывает окно с потенциальными проблемами, найденными в коде. Это могут быть ошибки, предупреждения, рекомендации по улучшению производительности, читаемости и поддерживаемости кода. Инструмент помогает быстро находить и исправлять эти проблемы. 7. **Type Hierarchy** - **Иерархия типов**: - Показывает иерархию типов для текущего элемента кода. Это полезно для понимания наследования и реализации интерфейсов, особенно в сложных системах с большим количеством классов и интерфейсов. Можно увидеть базовые и производные классы, а также интерфейсы, которые реализуются.