Все это не ново, и я не знаю, можно ли следовать этим на 100%. Но если это ваши цели, то с вашим кодом будет приятно работать.

Функция не полагается на скрытую смекалку

Языковые особенности порядка интерпретации приведения типов сбивают с толку. Да, изучать их весело, но использование их в производственной среде фактически ставит мину на место следующего разработчика, который коснется этого кода.

Функция имеет смысл в изоляции

Причины, по которым была создана функция, очевидны из заголовка и содержимого функции, без необходимости в дополнительном контексте вызывающей стороны или каких-либо функций, вызываемых изнутри.

Если разработчику нужно прочитать что-то, кроме функции, чтобы понять, что она делает, это не читается. Главный приз - передать точное значение только с помощью названия функции.

Функция предполагает знание языка

Да, семантика промисов и методов типа .reduce громоздка. Да, закрытие и контекст требуют усилий, чтобы изначально у вас была голова. Да, вам все еще нужно привыкать ко всему этому.

Единственное предостережение - будьте осторожны, чтобы не использовать скрытую смекалку.

Последовательность превосходит комфорт

По большей части сокращение количества ошибок сводится к устранению сюрпризов. Если вы присоединитесь к команде фронтендов, состоящих из бывших бэкэнд-разработчиков, которые все пишут такие функции:

function makeThingsHappen()
{
  // things happening
}

или они используют / не используют точку с запятой, или они используют пробелы / табуляции, или [вставьте сюда свою любимую мозоль], просто прикусите пулю и присоединяйтесь. Получите автоматическое форматирование и отпустите свои мелкие предпочтения, они действительно не имеет значения. Ваша способность чувствовать себя комфортно в среде, которая противоречит вашим личным предпочтениям, является профессиональным качеством - развивайте ее.