Существует ли соглашение об именах для функций более высокого порядка? То есть функции, которые возвращают другие функции.
Пример в Javascript:
function onlyDivisibleBy(div) { // <-- higher order function
return function (n) {
return n % div === 0;
}
}
var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.filter(onlyDivisibleBy(3)); // [0, 3, 6, 9]
arr.filter(onlyDivisibleBy(5)); // [0, 5]
Я обычно писал так, как указано выше: то есть оптимизировал разборчивость в точке вызова (последние строки выше я читал как «фильтровать массив, чтобы получить элементы, кратные только 5»), однако в точке определения далеко из контекста, в котором она используется, не так просто понять, что делает эта функция по ее названию.