纯函数概念:
就是一个函数的返回结果只依赖于传给它的参数(没有使用外部的全局变量等),并且在执行过程中没有副作用,我们就把这个函数叫做纯函数。
例:
函数的副作用:
指当调用函数时,除了返回函数值之外,还对主调用函数产生附加的影响。例如修改全局变量(函数外的变量)或修改参数。
函数副作用会给程序设计带来不必要的麻烦,给程序带来十分难以查找的错误,并且降低程序的可读性。严格的函数式语言要求函数必须无副作用。
纯函数的优点:
1.可复用性
纯函数仅依赖于传入的参数,这意味着你可以随意将这个函数移植到别的代码中,只需要提供踏需要的参数即可
2.可测试性
纯函数非常容易进行单元测试,因为不需要考虑上下文环境,只需要考虑输入和输出。
3.函数健壮性
纯函数是健壮的,改变执行次序不会对系统造成影响,因此纯函数的操作可以并行执行。