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

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

Так что же такое вспомогательные функции?

Что ж, вы, очевидно, можете погуглить для подробного анализа, но если я попытаюсь объяснить это, на мой взгляд:

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

Представьте себе функцию «fetchDataForClient ()», которая принимает 7 входных параметров и содержит 800 строк кода. , все должным образом комментируются там, где это когда-либо необходимо. Было бы очень сложно понять это и отслеживать переменные и поток данных, несмотря на правильные комментарии. Мой личный опыт показывает, что, чтобы понять такую ​​функцию, я должен пересматривать ее снова и снова, что в конечном итоге ускоряет работу моего измерителя стресса и тратит мое драгоценное время (да, в некотором роде)

С другой стороны, представьте, что код с 20 строками выполняет те же действия, что и предыдущий, и большинство из них являются функциями с 1 или 2 параметрами, определенными в отдельном файле и возвращающими некоторое значение (а может и нет). . Здесь вы также можете воспользоваться // комментариями к коду и легко отслеживать поток управления, не теряя рассудка.

Теперь перейдем к коду. Чтобы проработать вспомогательную функцию на примере, я использую небольшое приложение Node.js, которое будет использовать express и пакет npm random-string. Это приложение сгенерирует случайную строку, получит местное время, объединит обе строки с помощью разделителя и распечатает ее в браузере. Все эти операции будут выполняться во вспомогательной функции.

Предварительные требования: на вашем компьютере установлен Node.js и текстовый редактор. Я использую код Visual Studio.

Шаг 1. Создайте папку с именем «helper-app» или назовите ее как угодно

mkdir helper-app

Шаг 2: Откройте терминал и выполните следующую команду. Node задаст вам несколько очень важных вопросов, о которых вам не нужно беспокоиться. Просто нажмите Enter несколько раз, чтобы продолжить.

npm init

Шаг 3: внутри папки создайте файл с именем helper_functions.js.

cd helper-app
nano helper_functions.js

Шаг 4. Вставьте следующий код в файл

const randomString = require('random-string');
module.exports = {
// this function returns a random string of x length passed in  parameters
getRandomString(length) {
   console.log("generates a random string of x length passed in    parameters")
   return randomString({ length: length });
},
// this function returns the local time
getTime() {
   console.log("get local time");
   return  (new Date().toLocaleTimeString());
},

/*
this function takes three parameters
  randomString - random string returned in above function
  time - time returned in above function
  seperator - seperator to be added between both strings to make it
readable
*/

concatenateTimeAndString(randomString,time,seperator) {
   console.log("Now concatenating strings ... ");
   let concatenatedString = randomString.concat(seperator,time);
   return concatenatedString;
}
} // file ends here
  • В приведенном выше коде есть три довольно простые функции.
  • module.exports для использования этого файла функции в другом файле (index.js)
  • Я использовал пакет npm со случайной строкой для генерации случайной строки

Шаг 5. Внутри папки создайте еще один файл с именем index.js.

nano index.js

Шаг 6. Вставьте следующий код в файл

const express = require('express');
const app = express();

// requiring the helper function file to use its functions
const functions = require('./helper_functions');
// port to run app on
const PORT = '3000';
app.get('/',(req,res)=> {
   const randomString = functions.getRandomString(10);
   const time = functions.getTime();
   const output = functions.concatenateTimeAndString(randomString,time,' | ');
   res.status(200).send(`Your Concatenated String is ==> ${output}`);
 });
app.listen(PORT, ()=> {
   console.log(`Server started on port ${PORT} ... `);
});

Построчно Объяснение index.js:

  • требуется экспресс
  • инициализация переменной app с помощью экземпляра платформы Express
  • импортировать файл helper_functions, чтобы мы могли использовать его функции в index.js
  • укажите порт для запуска приложения. Здесь я использую 3000
  • получить конечную точку запроса
  • вызывает getRandomString () и сохраняет значение, возвращаемое функцией, в переменной с именем randomString
  • аналогично getTime ()
  • объединить оба с помощью concatenateTimeAndString () и сохранить возвращаемое значение в переменной с именем output
  • отправить вывод как ответ на запрос GET

Шаг 7: откройте терминал внутри этой папки и выполните следующую команду, чтобы установить пакеты npm

npm install --save express random-string

Шаг 8. Готово. Давайте запустим приложение и посмотрим, получим ли мы желаемый результат.

node index.js

Шаг 9. Откройте браузер и нажмите URL, чтобы увидеть результат

http://localhost:3000/

Вывод:

Хотя код в приведенном выше примере не очень длинный, но он дает четкое объяснение того, как мы можем использовать вспомогательные функции. Также вы можете видеть, что наш основной файл (index.js) очищен от всех операций, он просто вызывает функции и использует свои данные там, где это необходимо. Вся обработка выполняется в отдельном файле (helper_functions.js), что делает наш код чистым и понятным. Более того, комментарии к коду имеют больше смысла в файле вспомогательных функций.

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