Разница между явным и неявным объявлением функций заключается в способе задания функции. 1
Явная функция — это соотношение, в котором одна переменная выражена через другую переменную. 1 Явные параметры делают код самодокументируемым: по сигнатуре функции сразу понятно, какие аргументы ожидаются. 2
Неявная функция — это выражение, в котором присутствуют две переменные, при этом не требуется, чтобы одну из переменных можно было выразить через вторую. 1 При использовании неявных аргументов уровень самодокументируемости кода снижается: без описания или анализа содержимого функции сложно понять, что ей можно передавать. 2
Выбор между явным и неявным объявлением функций зависит от конкретной ситуации: явные аргументы лучше работают с простыми и низкоуровневыми функциями, а неявные — когда данных много и они могут часто меняться в процессе или среди этих параметров много необязательных. 2