funciton-purity
function and procedures
- 函数: 有输入, 有输出
- 程序: 没有输出, 只是在代码段中做了一些事
语义化函数命名
因为函数式编程倾向于声明式编程, 那么对于函数名就要简明易懂.
函数名称的重要性不亚于, 数学中, 公式对应的图像.
副作用
副作用就是, 在函数内部改变了外部变量(包括dom).
常见副作用:
- I/O操作(console/file)
- 数据库操作
- 网络请求调用
- DOM操作
- Timestamps
- 随机数
- Cup heat
- Cup time Delay
原则: 我们尽量避免副作用,但是,如果无法避免, 那么就让副作用明显一点, 让阅读代码的人看得到.
纯函数和常量
- 没有副作用
- 没有外部依赖
reducing surface Area
减少可以产生副作用的行为.不要对参数有赋值的念头.