Existe uma convenção de nomenclatura para funções de ordem superior? Ou seja, funções que retornam outras funções.
Um exemplo em 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]
Eu tenho a tendência de escrevê-lo da maneira acima: ou seja, otimizar a legibilidade no ponto de chamada (eu li as últimas linhas acima como "filtre a matriz para obter itens divisíveis apenas por 5"), no entanto, no ponto de definição do contexto em que é usada, não é tão fácil entender o que essa função faz com o nome.