УДК 004
Узких Г.Ю.
студент 4 курса САФУ Северный (Арктический) федеральный университет (Россия, г. Архангельск)
ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ И ЕГО ВЛИЯНИЕ НА КАЧЕСТВО КОДА И ОБСЛУЖИВАЕМОСТЬ
Аннотация: в данной научно-исследовательской статье рассматривается влияние функционального программирования на качество кода и обслуживаемость программных систем. Функциональное программирование, основанное на математической теории вычислений, отличается от императивных подходов и вносит значительные изменения в способ написания и структурирования кода. В статье рассматриваются основные концепции функционального программирования, такие как неизменяемость данных, отсутствие побочных эффектов и функции высшего порядка.
Ключевые слова: функциональное программирование, качество кода, обслуживаемость, неизменяемость данных, побочные эффекты, чистые функции, функции высшего порядка, декларативный стиль, предсказуемость, модульность, рефакторинг, масштабирование, сравнение с императивным подходом.
Функциональное программирование (ФП) представляет собой парадигму программирования, в которой основное внимание уделяется созданию программ с помощью функций. Этот подход базируется на математической лямбда-исчислении и поднимает абстракции над данными и операциями на новый уровень. В последние десятилетия функциональное программирование привлекло значительное внимание со стороны индустрии и научного сообщества [1].
В функциональном программировании данные считаются неизменяемыми. Это означает, что после создания структуры данных она не
может быть изменена. Вместо этого операции создания новых данных с измененными значениями становятся основным подходом. Это свойство обеспечивает предсказуемость и избегание состояний гонки.
Функции в функциональном программировании стремятся быть чистыми, то есть не имеющими побочных эффектов. Они зависят только от своих входных данных и всегда возвращают одинаковый результат для одинаковых входов. Это способствует легкости тестирования и обеспечивает более надежный код [2].
Функции в ФП могут быть переданы как аргументы другим функциям или возвращены как результат выполнения других функций. Это позволяет создавать более абстрактные и гибкие структуры программ.
Функциональное программирование способствует написанию более чистого, модульного и понятного кода. Благодаря неизменяемости данных и отсутствию побочных эффектов, программы становятся более предсказуемыми, что упрощает их отладку и поддержку. Функции высшего порядка позволяют выразить сложные операции более компактно и с минимальным повторением кода.
Обслуживание программного кода оказывается упрощенным в функциональном программировании. Из-за свойств чистых функций и неизменяемых данных, вносимые изменения менее вероятно приведут к неожиданным побочным эффектам. Рефакторинг становится более безопасным и понятным. Кроме того, функциональное программирование снижает вероятность ошибок при распараллеливании и масштабировании программных систем [3].
Функциональное программирование демонстрирует значительное влияние на качество кода и обслуживаемость программных систем. Неизменяемость данных, отсутствие побочных эффектов и функции высшего порядка совместно способствуют созданию надежных, легко тестируемых и легко обслуживаемых программ. Понимание принципов функционального
программирования и их правильное применение могут значительно повысить эффективность разработчиков и качество программного продукта.
СПИСОК ЛИТЕРАТУРЫ:
1. Википедия [Электронный ресурс] - URL: https: //ru.wikipedia. org/wiki/Функциональное_программирование
2. Habr [Электронный ресурс] - URL: https://habr.com/ru/companies/piter/articles/755476/
3. GeekBrains [Электронный ресурс] - URL: https://gb.ru/blog/funktsionalnoe-programmirovanie/
Uzkikh G.I.
4th year student of NArFU Northern (Arctic) Federal University (Russia, Archangelsk)
APPLICATION OF DEEP LEARNING IN NATURAL LANGUAGE PROCESSING TASKS
Abstract: this research paper examines the influence of functional programming on code quality and the maintainability of software systems. Functional programming, based on the mathematical theory of computation, differs from imperative approaches and introduces significant changes in coding practices and structure. The paper discusses fundamental concepts of functional programming, including data immutability, absence of side effects, and higher-order functions.
Keywords: functional programming, code quality, maintainability, immutability of data, side effects, pure functions, higher-order functions, declarative style, predictability, modularity, refactoring, scalability, comparison with imperative approach.