函数式编程简介

函数式编程

1.1 什么是函数式编程?为何它重要

数学中函数的特点:

  • 函数必须总是接受一个参数
  • 函数必须总是返回一个值
  • 函数应该依据接收到的参数而不是外部运行环境
  • 对于一个给定的X,只会输出唯一的一个Y

不依赖外部变量,把所需要的变量作为参数传入函数。

函数式编程

函数式编程是一种范式,我们能够以此创建仅依赖输入就可以完成自身逻辑的函数。这保证了当函数被多次调用时仍然返回相同的结果。函数不会改变任何外部环境的变量,这将产生可缓存的、可测试的代码库。

1.2 引用透明性

所有函数对于相同的输入都将返回相同的值。

所以用函数的返回值作为函数的替代不会影响上下文。

1.3 命令式、声明式与抽象

命令式是我们精确告诉程序每一步都做什么,“如何做”。

声明式则是告诉程序“做什么”,至于如何做的部分,则被放置在底层的函数中。

函数式编程主张以抽象的方式创建函数,这些函数能够在代码的其他部分被重用。

1.4 函数式编程的好处

纯函数

相同输入返回相同的值

  • 便于测试
    • 因为不依赖任何外部变量,所以不用担心测试的时候外部变量被其他代码改变
    • 而且也不会改变外部变量,如果外部变量被改变就可能影响到其他使用该变量的代码。
  • 便于阅读
  • 并发执行时不用担心同步问题
  • 可缓存。可以把函数不同参数的计算结果存起来,下次相同的输入就可以直接查
  • 一次只做一件事,然后通过管道和组合做更复杂的事

你可能感兴趣的:(函数式编程简介)