Автор оригинала: FreeCodeCamp Community Member.
Preethi Kasireddy
Если вы разработчик программного обеспечения, вы, вероятно, заметили растущую тенденцию: Программные приложения продолжают получать более сложные.
Он подпадает на наши плечи в качестве разработчиков, чтобы построить, тестировать, поддерживать и масштабировать эти сложные системы. Для этого мы должны создать хорошо структурированный код, который легко понять, писать, отладки, повторное использование и обслуживание.
Но на самом деле написание программ, как это требует гораздо больше, чем просто практика и терпение.
В моем предстоящем курсе Узнать функциональный JavaScript правильный путь , Я научу вам использовать функциональное программирование для создания хорошо структурированного кода.
Но прежде чем прыгать в этот курс (и я надеюсь, что вы будете!), Есть важный необходимый: создание сильного фундамента в Основные принципы функционального программирования Отказ
Итак, я создал новый Бесплатный адрес электронной почты Это приведет вас на веселое и исследовательское путешествие в понимание некоторых из этих основных принципов. Давайте посмотрим на то, что будет покрывать курс электронной почты, поэтому вы можете решить, как он соответствует вашему образованию программирования.
Что такое функциональное программирование?
Так. Что такое «функциональное программирование», точно?
Функциональное программирование не является каркасом или инструментом, а A путь написания кода. В функциональном программировании мы размещаем основное внимание на написании кода, используя функционирует как «строительные блоки».
Ваша программа определяется в терминах одной основной функции. Эта основная функция определяется с точки зрения других функций, которые в свою очередь, определены в терминах еще более функций – пока на нижнем уровне функции – это просто языковые примитивы, такие как «номер» или «строка».
Если вы читаете это мышление, “Хм, но подожди? Не каждый язык использует функции для записи кода? “ тогда хорошо ?. Это означает, что вы обращаете внимание. Вы правы – каждый язык программирования имеет функции. Но функциональное программирование принимает его на Целый «нешельчивый уровень?
Чтобы понять, что я имею в виду, давайте перемотать и начнем с основы. У каждой программы есть две вещи:
- Поведение
- Данные
Когда мы узнаем о программировании парадигмы – как функциональное программирование – часто полезно учитывать, как парадигма приближается к поведению и данным соответственно. Поведение Например, обрабатывается чисто используя функции в функциональном программировании. Функции «Самостоятельные» куски кода, которые выполняют определенную задачу. Он определяет взаимосвязь между множеством возможных входов и набором возможных выходов – они обычно принимают данные, обрабатывают его и возвращают результат. Как только функция написана, она может быть использована снова и снова и снова. Данные это хорошо, данные. В функциональном программировании данные неизменяются – это означает, что он не может быть изменен. Вместо того, чтобы изменять данные, которые они принимают, функции в функциональном программировании принимают данные в качестве ввода и производства Новый значения как вывод. Всегда. Функции и неизменные данные являются единственными двумя вещами, которые вам нужно когда-либо иметь дело с функциональным программированием. Чтобы сделать его еще более простым, функции не обрабатываются по-разному, чем данные.
Поместите другой путь, Функции в функциональном программировании могут быть переданы так же легко, как данные. Вы можете обратиться к ним из константы и Переменные пропусти их как Параметры к другим функциям и вернуть их как Результаты из других функций. Это самое главное, чтобы понять при приближении к функциональному программированию.
Обработав функции как нечего особенного, чем часть данных, и только с использованием данных, которые неизменяются, нам дают намного больше свободы с точки зрения того, как мы можем использовать функции.
А именно, это позволяет нам создавать небольшие независимые функции, которые могут быть повторно использованы и объединены вместе, чтобы построить всё сложную логику. Мы можем Разрушите любую сложную проблему в меньшие подпростоки, решайте их с использованием функций и, наконец, объединяют их вместе, чтобы решить большую проблему. Учитывая постоянно растущую сложность программных приложений, этот вид «строительный блок» подход имеет огромную разницу в сохранении программ простых, модульных и понятных. Это также почему разработчики стремятся сделать свои функции как общего назначения насколько это возможно, чтобы они могли быть комбинированный решать большие, сложные проблемы и повторно используется Ускорить время разработки для последующих программ.
В конечном итоге причина, по которой функции настолько мощные в функциональном программировании, заключается в том, что функции следуют определенным основным принципам. Эти принципы будут предметом моего электронного письма:
- Функции чистые
- Функции используют неизменные данные
- Функции гарантируют ссылочную прозрачность
- Функции являются первоклассными объектами
После этого я кратко коснусь, насколько функциональные программирование применяет эти принципы, чтобы побудить нас тщательно продумать наши данные и функции, которые взаимодействуют с ним.
К концу вы сможете понять, как этот подход приводит к коду:
- Легче понять (то есть «выразительно»)
- Легче повторно использовать
- Проще тестировать
- Полегче поддерживать
- Легче рефакторию
- Легче оптимизировать
- Легче рассуждать
Звук захватывающе? Приходите к поездке!
Зарегистрируйтесь на бесплатный курс электронной почты сейчас Отказ Затем вы получите первый урок в вашем почтовом ящике в течение 1-3 дней после регистрации?
Оригинал: “https://www.freecodecamp.org/news/learning-the-fundamentals-of-functional-programming-425c9fd901c6/”