ESLint сообщает о недопустимо высокой сложности. Я хочу знать, почему это слишком сложно? И что произойдет, если я просто разделю его на несколько функций — это производительность? Насколько я знаю, мы всегда должны писать минимизированный код, поэтому, если мы разделим его на несколько функций, он будет занимать больше места (бит) и больше времени выполнения?
И как лучше всего работать с этим фрагментом.
const getWeekType = (f, d, e) => {
const y = moment(),
a = moment(f),
i = moment(d);
if (d && f && i.diff(a, 'days') <= 8 && y.diff(a, 'days') < 8 && y.diff(a, 'days') >= 0) {
return { weekNum: 0, dayNum: y.diff(a, 'days') };
}
if (f && y.diff(a, 'days') >= 0 && y.diff(a, 'days') < 8 && (!d || i.diff(a, 'days') > 8)) {
return { weekNum: 1, dayNum: y.diff(a, 'days') };
}
if (d && !f && i.diff(y, 'days') >= 0 && i.diff(y, 'days') < 8) {
return { weekNum: 2, dayNum: 6 - i.diff(y, 'days') };
}
if ((!f || y.diff(a, 'days') > 8) && (!d || i.diff(y, 'days') > 8)) {
let d = y.diff(f ? a : moment(e), 'days');
for (; d > 7; ) d -= 7;
return { weekNum: 3, dayNum: d };
}
};
![ради повышения производительности кода… ESLint сообщает: «Стрелочная функция имеет сложность 21. Максимально допустимое значение - 20» [closed] TheFAQ.ru](https://thefaq.ru/wp-content/uploads/2023/01/logo-250.png)