Как вы используете конфигурационный параметр Scrutinizer’s dependency_paths, чтобы скрыть проблемы в определенных папках?

Я использую функции статического анализа Scrutinizer-CI для обратной связи с моим PHP-кодом. в их документация, у меня есть .scrutinizer.yml файл в корне моего проекта, который, кажется, успешно настраивает параметры Scrutinizer так, как я хочу. Почти.

Один из этих вариантов dependency_paths, который позволяет мне указать путь, который содержит зависимость. По словам кого-то, с кем я общался в Scrutinizer …

«Пути, перечисленные в зависимостях, отличаются от полностью исключенных путей тем, что мы смотрим на них, чтобы найти классы или функции, которые они определяют, чтобы сделать анализ других ваших файлов более точным. Однако мы не будем искать никаких проблем в этих файлах».

К сожалению, это не работает для меня. Я использую SAML для аутентификации, и поэтому у меня есть simplesamlphp папка с моим исходным кодом. (Вы не можете просто включить simplesamlphp через что-то вроде composer, потому что вам нужно отредактировать некоторые файлы конфигурации и так далее в зависимости от того, как вы их используете).

Соответствующая часть моего .scrutinizer.yml файл выглядит так:

filter:
paths:
- application/*

tools:
php_analyzer:
dependency_paths:
- application/simplesamlphp/*

(The application папка — это папка корневого уровня в моем исходном коде).

это делает кажется, чтобы предотвратить любые проблемы, найденные в simplesamlphp папка от влияния на оценку моего кода в Scrutinizer. Тем не менее, Scrutinizer по-прежнему сообщает о тысячах проблем с кодом, найденным в этом simplesamlphp папку, что затрудняет поиск проблем, которые на самом деле о коде, который я написал.

Я использую dependency_paths неправильная настройка? Похоже, что это не работает так, как мне сказали, что … оставив меня в замешательстве.

РЕДАКТИРОВАТЬ: Чтобы дать немного больше информации, я могу полностью исключить simplesamlephp папка с использованием excluded_paths вариант. Задача состоит в том, чтобы позволить Scrutinizer взглянуть на классы и тому подобное в моих зависимостях (чтобы лучше понять мой код), но не сообщать о каких-либо проблемах, обнаруженных в зависимостях.

РЕДАКТИРОВАТЬ 2: Ну, это интересно. Я экспериментировал с несколькими версиями (соответствующими частями) моего .scrutinizer.yml файл и увидел следующие результаты.

Во-первых, я просто сказал Scrutinizer полностью исключить simplesamlphp папка:

filter:
paths:
- application/*
excluded_paths:
- application/simplesamlphp/*

tools:
php_analyzer:
dependency_paths:
- application/simplesamlphp/*

Это позволило мне увидеть проблемы с моим собственным кодом и исправить их. На данный момент оценка моего проекта на Scrutinizer составляет 9,54. Я тогда перестал исключать simplesamlphp:

filter:
paths:
- application/*

tools:
php_analyzer:
dependency_paths:
- application/simplesamlphp/*

Это изменение внесло 7756 проблем в анализ Scrutinizer, но оставило оценку моего проекта на уровне 9,54 (это означает, что проблемы в simplesamlphp сообщалось, но не засчитывается против меня). Затем я попытался удалить косую черту и звездочку из пути:

filter:
paths:
- application/*

tools:
php_analyzer:
dependency_paths:
- application/simplesamlphp

Это изменение ввело проблемы 2002 года и исправило 3198 проблем, все из которых (как введенные, так и исправленные) находились в simplesamlphp папка. Я не ожидал такого эффекта вообще. Это также снизило оценку моего проекта на Scrutinizer до 7,47, что означает, что проблемы в simplesamlphp папка теперь была засчитана против меня. Затем я попытался изменить синтаксис однострочного массива для dependency_paths:

filter:
paths:
- application/*

tools:
php_analyzer:
dependency_paths: [application/simplesamlphp]

Это не имело никакого эффекта. Ради тщательности я добавил трейлинг /* к этому синтаксису массива:

filter:
paths:
- application/*

tools:
php_analyzer:
dependency_paths: [application/simplesamlphp/*]

Эти результаты также удивили меня. Это изменение исправило проблемы 2002 года и вернуло мой счет до 9,54. И исправленные проблемы, и оставшиеся 4519 проблем были в simplesamlphp папка. Хотя это, кажется, приближает меня к цели, это все же оставляет тысячи проблем из кода в моих зависимых_путях. Я не уверен, что еще можно попробовать на этом этапе, поэтому я, вероятно, вернусь к простому исключению simplesamlphp папка полностью.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]