我被要求在我的项目中使用静态分析仪。由于我已经在使用Eslint,这也有助于识别编译时间错误,然后我发现在反应中进行静态分析的流量。
它使我感到困惑,因为Eslint做了类似的工作。
我没有发现流量和ESLINT之间的区别。所以我的问题是
- ESLINT和流量是否解决了相同的目的?
- 如果不是,则何时使用ESLINT以及何时使用Flow
- 我可以一起使用Flow和Eslint吗?
- ESLINT和流量是否解决了相同的目的?
是。我认为它们具有相同的最终目的(这并不意味着他们解决了相同的问题)。帮助程序员通过警告丑陋/错误的syntax代码来实现可能在打字/编码阶段引起错误的错误/风险代码。因此它将减少运行时错误。
- 如果不是,则何时使用ESLINT以及何时使用Flow
- Eslint是衬里https://eslint.org/docs/about/
代码覆盖是一种静态分析,经常用于 找到不符合某些样式的有问题的模式或代码 指南。大多数编程语言都有代码衬里,以及 编译器有时将覆盖物纳入编译过程。
ESLINT更像会议规则检查规则。
- 流是静态类型检查器https://flow.org/en/docs/getting-started/
流是用于JavaScript代码的静态类型检查器。它做了很多 工作以使您更有生产力。使您更快,更聪明, 更自信,更大的规模。
流通过静态类型注释检查您的代码是否错误。 这些类型允许您告诉您希望代码的工作方式,并且 流将确保它以这种方式工作。
它与Eslint有点相同,但重点放在类型注释上。
- 如果您想在会议级别的JS中减少JS中的错字/风险/丑陋代码 -> ESLINT是必需的。
- 如果要将粘性类型添加到JS代码,而其他程序员不会以错误的方式使用您的代码 -> Flow
- 我可以一起使用Flow和Eslint吗?
是。我正在使用 @babel/preset-flow和eslint-config-airbnb。
p/s:在我看来,Eslint是必须的。流量/打字稿可以考虑
流是用于JavaScript的类型检查器,它可确保您通过在运行代码之前提前提供的信息或将正确的信息类型通过。
eslint是linter
绒毛或linter是一种工具,可以分析源代码以标记编程错误,错误,风格错误和可疑结构。
https://en.wikipedia.org/wiki/lint_(software)
因此,Eslint有一系列的预构规则列表,您可以根据自己的喜好进行调整,无论是语法,代码样式还是不良实践,都可以捕获错误。
因此,要结论每个程序试图解决两个不同的问题,因此可以独立使用,或两者都可以使用。