Как сделать свой код лучше с помощью имен функций, выявляющих намерения

kak sdelat svoj kod luchshe s pomoshhyu imen funkczij vyyavlyayushhih

Откройте для себя функциональный JavaScript был назван одним из лучшие новые книги по функциональному программированию от BookAuthority!

Код – это способ общения с читающими его разработчиками. Функции с именами, выражающими намерения, легче читать. Мы читаем название функции и можем понять ее предназначение. Имя функции – это наш инструмент для выражения намерения относительно части кода.

Давайте рассмотрим список операций, выполненных в функциональном стиле с использованием анонимных функций.

function getTodos(users){
  return todos
    .filter(todo => !todo.completed && todo.type === "RE")
    .map(todo => ({
      title : todo.title,
      userName : users[todo.userId].name
    }))
    .sort((todo1, todo2) =>  
      todo1.userName.localeCompare(todo2.userName));
}

Теперь проверьте ту же функциональность, преобразованную с помощью функций с именами, выявляющими намерения.

function isTopPriority(todo){
  return !todo.completed && todo.type === "RE";
}

function ascByUserName(todo1, todo2){
  return todo1.userName.localeCompare(todo2.userName);
}
  
function getTodos(users){
  function toViewModel(todo){
    return {
      title : todo.title,
      userName : users[todo.userId].name
    }
  }
  return todos.filter(isTopPriority)
              .map(toViewModel).sort(ascByUserName);
}

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

Считается, что разработчики тратят 70% времени на поддержку кода на чтение, чтобы понять его.

Кайл Симпсон в Functional-Light JavaScript

Откройте для себя функциональный JavaScript был назван одним из лучшие новые книги по функциональному программированию от BookAuthority!

Чтобы узнать больше о методах функционального программирования в React, просмотрите Функциональный React.

Учитесь функциональный Reactпроектно, с Функциональная архитектура с React и Redux.

Подписывайтесь на Twitter

Добавить комментарий

Ваш адрес email не будет опубликован.