Skip to content

Functional Thinking 函数式编程思维 阅读纪录

转变思维

  1. 多从结果着眼,少纠结具体的实现
  2. 高阶函数消除了摩擦
  3. 不要增加无畏的摩擦
  4. 需要根据筛选条件来产生一个子集合的时候用filter
  5. 需要就地变换一个集合的时候, 用map
  6. 需要把集合分成一小块一小块来处理的时候用reduce

权责让渡

  1. 迭代让位于高阶函数, 理解掌握的抽象层次永远要比日常使用的抽象层次更深一层。
  2. 让语言去管理状态, 抓住上下文,而非状态。
  3. 利用递归,把状态的管理责任推给运行时。

用巧不用蛮

  1. 确保所有的记忆函数: 没有副作用, 不依赖任何外部信息。
  2. 用语言设计者实现的机制效率更高。

演化的语言

  1. 用少量的数据结构搭配大量的操作。

Released under the ISC License.