推荐一本新书《Software Design for Flexibility: How to Avoid Programming Yourself Into a Corner》
这本书名字起的很好,大部分人一下就能被吸引住。比起其前任《Structure and Interpretation of Computer Programs》就很亲民,也很贴近当下大家都会面临对问题:灵活性。
去年精读了《Composing Software An Exploration of Functional Programming and Object Composition in JavaScript》之后,还存在的一些疑虑在这本书中找到了解答。
比如 Function combinators
函数组合,大家都知道最简单的组合方式如下:
复制代码
然后就会遇到不适合上述最简单方式的情况,如 f
g
只能接收一个参数吗?g
返回多余一个参数呢?
在该书中就补上了这些情况,也让原本以为无解的情况,给出了 Flexibility
的解。
如,还定义了 parallel-combine
的情况:
复制代码
还有能接收多个参数的 spread-combine
:
复制代码
以及更常见的参数个数多了 discard-argument
、少了 curry-argument
和参数顺序不对 permute-arguments
:
复制代码
版权声明: 本文为 InfoQ 作者【顿晓】的原创文章。
原文链接:【http://xie.infoq.cn/article/763c5f74d024b5a2ff9808c94】。文章转载请联系作者。
评论