Я использую JSHint и хочу отключить цикломатическую сложность.
Как я могу это сделать?
Я использую JSHint и хочу отключить цикломатическую сложность.
Как я могу это сделать?
Допустим, наша функция называется x. Тогда мы должны просто написать это:
function x () {
/*jshint maxcomplexity:6 */
}
Где 6 - это число, подсказка js обычно говорит об этом в консоли следующим образом:
static/desktop.blocks/days/days.js: строка 57, столбец 27, цикломатическая сложность этой функции слишком высока. (6)
Я попытался в верхней части моего файла поместить следующее:
/*jshint maxcomplexity:0 */
И было сказано
Ожидал небольшое целое число или «ложь», а вместо этого увидел «0».
Итак, попробовал следующее
/*jshint maxcomplexity:false */
И обнаружил, что он отключает предупреждения цикломатической сложности.
Мы можем отключить цикломатическую сложность функций в jshint через конфигурационный файл .jshintrc следующим образом:
"maxcomplexity" : false, // {int} Max cyclomatic complexity per function
Остерегаться. JSHint неправильно вычисляет цикломатическую сложность. Пример:
function result(a, b, c) {
return a || b || c;
}
Сложность здесь равна 1; ни ветвей, ни петель. Ошибки JSHint, если вы установите maxcomplexity меньше 3. REPL на http://www.jshint.com также сообщает 3.