【问题标题】:How to find unused/dead code in web projects (90% code in javascript)如何在 Web 项目中查找未使用/死代码(90% 的代码在 javascript 中)
【发布时间】:2012-02-21 09:23:12
【问题描述】:

我确实找到了一个非常有趣的工具来识别 web 项目中未使用的 css 定义。 http://www.sitepoint.com/dustmeselectors/

是否有类似的工具也适用于 javascript 项目?

附: 我知道没有程序可以确定性地找到未使用的代码。但我正在寻找一份报告来识别可能未使用的代码。那么最后的决定永远是你自己的。

【问题讨论】:

  • 中断断点并开始运行 Selenium。

标签: javascript code-coverage


【解决方案1】:

问题是没有办法真正确定。假设如下:

  1. 最初的 HTML 站点实际上是空的。不过有很多JS代码,好像没用过。
  2. OnLoad,调用了一个向服务器发起 AJAX 查询的函数。服务器返回大量的 HTML 代码,即网站的正文。该主体包含大量 JavaScript 函数。
  3. 初始正文被通过 AJAX 接收的正文替换。突然,所有的代码都被使用了。

因此,静态分析实用程序毫无用处。我不知道是否存在一个浏览器扩展,它标记了正在运行的浏览器中的所有 JS 使用情况。

【讨论】:

  • 是的,我同意,程序无法确定性地找到未使用的代码。但我正在寻找一份报告来识别可能未使用的代码。那么最后的决定永远是你自己的。
  • 阅读stackoverflow.com/questions/53249/… 找到一个工具,它可以标记浏览器中已运行的所有代码。它可以让您轻松识别哪些代码可能已失效。
  • 从 Chrome 59 开始,您可以使用覆盖开发工具来帮助您识别正在运行的 Web 应用程序中的死代码。
【解决方案2】:

您可以尝试使用墓碑安全地定位和删除 JavaScript 中的死代码。

https://blog.bugsnag.com/javascript-refactoring-with-bugsnag-and-tombstones/

【讨论】:

  • 请提供解决问题的具体sn-p,而不是链接。
【解决方案3】:

为了找到未使用的资产,手动删除,你可以使用deadfile库: https://m-izadmehr.github.io/deadfile/

它可以在任何 JS 项目中简单地找到未使用的文件。

无需任何配置,支持 ES6、JSX 和 Vue 文件:

【讨论】:

    【解决方案4】:

    最容易想到的是 Javascript LINT (http://www.javascriptlint.com/) 和 JSLint (http://www.jslint.com/)。

    但要小心:后者会伤害你的感情。

    【讨论】:

    • 那些测试一些人认为不好的编码实践。他们不测试未使用的代码。
    • 也许是时候删除这个答案了。
    猜你喜欢
    • 2010-09-14
    • 1970-01-01
    • 2023-03-23
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 2019-04-14
    • 1970-01-01
    相关资源
    最近更新 更多