Ruf*_*fus 6 javascript functional-programming eslint
凭借JavaScript的灵活性,我们可以编写充满副作用的代码,或者仅仅是纯函数.
我一直对功能JavaScript感兴趣,并希望在这个范例中启动一个项目.关于这一点的麻烦肯定能帮助我收集好的做法.有没有任何一点可以强制实现纯功能和副作用的自由风格?
纯度分析相当于解决停机问题,因此在一般情况下,任何可以确定代码是否纯净的静态分析都是不可能的。总是存在无限多个程序,无法确定它们是否是纯粹的;其中一些程序是纯净的,一些是不纯净的。
现在,您故意使用术语“linter”而不是静态分析器(当然,linter 只是静态分析器),这似乎意味着您可以接受近似的启发式结果。您可以拥有一个 linter,它有时会告诉您您的代码是纯净的,有时会告诉您您的代码是不纯净的,而大多数时候会告诉您它无法决定您的代码是纯净的还是不纯净的。您可以拥有一个已知是纯操作的白名单(例如,Number使用运算符添加两个 s +),以及一个已知不纯操作的黑名单(例如,任何可能引发异常的操作、任何类型的循环、if语句) ,Array.prototype.forEach)并对这些进行启发式扫描。
但最终,结果将太不可靠,无法对它们进行任何认真的处理。
| 归档时间: |
|
| 查看次数: |
592 次 |
| 最近记录: |