Apakah ada konvensi penamaan untuk fungsi-fungsi tingkat tinggi? Yaitu, fungsi yang mengembalikan fungsi lainnya.
Contoh dalam 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]
Saya cenderung menulisnya seperti di atas: yaitu, mengoptimalkan keterbacaan pada titik doa (saya akan membaca baris terakhir di atas sebagai "filter array untuk mendapatkan barang yang hanya dapat dibagi 5"), namun pada titik definisi pergi dari konteks di mana ia digunakan, tidak begitu mudah untuk memahami apa fungsi ini dari namanya.