Ch2 - "早期回报"示例似乎有些误导

作者: tiagojdf创建于 2018年2月27日更新于 2018年5月16日
标签second edition

我认为你在该节中说出一个非常扎实的观点:

我认为你应该小心返回的流量控制部分,在函数定义中创造出更多的隐含. 试着找出表达逻辑的最明确的方式;这往往是最佳的方式。

但用你的例子,我觉得你做的正好相反。 你添加一个额外的变量,我需要保持追踪 只要知道我是否应该 执行代码来。 你说:

RetValue可以设置的每一个分支都由检查是否已经设置的条件来守卫. 但回报已经是这种情况了, 附加的奖金,一旦达到回报,你就可以忘记其余的功能。 我觉得如果你在脑中执行两个代码, 前者给你一些呼吸空间 一旦你击中返回, 而后者强迫你一路走过, 只是最后意识到你没有。

我并不是说,当你说返回太频繁会使功能更难阅读时,你错了,但我要说,在这个例子中,你确实有你确实需要返回的所有这些要点。

我认为一个更能说明你的观点的好例子就是边缘案例,在主要逻辑之前处理边缘案例,使得人们更难理解你正试图用功能实现什么. (无法想出一个实际的例子).

请给我一个更清晰的例子:

内容来源: getify/Functional-Light-JS