Как вы подавляете блок кода в SonarCloud, чтобы предотвратить оповещение о «дублировании кода» в Azure функциях, которые должны быть там? - PullRequest
1 голос
/ 10 февраля 2020

Таким образом, в каждой функции Azure, которая предоставляет HTTP-триггер в верхней части каждой функции, у нас есть один и тот же код, который проверяет JWT для входящего запроса. Это выглядит примерно так:

public static async Task<IActionResult> Run(...)
{
    if (authManager == null)
    {
        authManager = new AuthorizationManager(log);
    }

    if (!authManager.ValidateJWT(req.Headers, out awid, out error))
    {
        return new UnauthorizedResult();
    }
}

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

Я знаю, что есть опция //NOSONAR для проблем, но она не работает для дублирования кода. Я не хочу игнорировать все файлы или изменять правило дублирования кода в профиле качества, потому что мы хотим предупреждать о дублировании за пределами этого условия.

Так как я могу подавить проверку дублирования кода для этого блока кода в каждой Azure функции, которую мы сканируем?

...