Всякий раз, когда я нажимаю кусок кода, над которым я работаю, я получаю This function cyclomatic complexity is too high. (7)
. Но я немного смущен тем, как я могу переписать его таким образом, чтобы он работал.
Это будет функция, которая продолжает метать это сообщение:
function () {
var duration = +new Date() - start.time,
isPastHalf = Number(duration) < 250 && Math.abs(delta.x) > 20 || Math.abs(delta.x) > viewport / 2,
direction = delta.x < 0;
if (!isScrolling) {
if (isPastHalf) {
if (direction) {
this.close();
} else {
if (this.content.getBoundingClientRect().left > viewport / 2 && pulled === true) {
this.close();
return;
}
this.open();
}
} else {
if (this.content.getBoundingClientRect().left > viewport / 2) {
if (this.isEmpty(delta) || delta.x > 0) {
this.close();
return;
}
this.open();
return;
}
this.close();
}
}
}
Я хотел бы услышать некоторые советы о том, как я мог бы структурировать свой код таким образом, чтобы избежать таких ситуаций.