Есть ли способ исключить некоторые строки кода из анализа sonarqube без исключения всего файла исходного кода? Может быть, с аннотацией или что-то в этом роде?
Я приведу конкретный пример, где мне нужно исключить определенный запах кода для неиспользуемого параметра функции:
Я применил метод проверки следующим образом:
public function validateTruth(string $attribute, $value) : bool { $acceptable = [ '0', 0, 'false', false, '1', 1, 'true', true, 'no', 'yes', ]; return in_array($value, $acceptable, true); }
чтобы расширить \ Illuminate \ Contracts \ Validation \ Factory с помощью метода расширения:
$validationFactory->extend( 'truth', Validator::class . @validateTruth', 'The :attribute field must be some kind of truth value.' );
Моя реализация не использует все необходимые параметры, но я не могу просто оставить первый параметр. Расширение не будет работать с методом обратного вызова без параметра $ attribute. Поэтому метод расширения явно требует обратного вызова с определенным набором параметров, но он не предоставляет интерфейс или что-то вроде этого, поэтому отсутствующий параметр будет автоматически исключен из sonarqube.
Есть ли способ исключить только этот запах кода, не исключая целую функцию или файл из анализа sonarqube? Я бы предпочел решение в исходном коде, потому что мы используем разные экземпляры sonarqube в нашем жизненном цикле разработки, поэтому помечать такие запахи кода в веб-интерфейсе было бы сложнее в обслуживании.