【问题标题】:Is there a way to find redundant code and variables in a Dart program?有没有办法在 Dart 程序中找到冗余代码和变量?
【发布时间】:2013-07-30 01:59:09
【问题描述】:

我在某处读到 dart2js 删除了冗余代码和变量。除了 dart2js 之外,dart 中还有其他方法可以测试 Dart 程序中的冗余代码和变量吗?

【问题讨论】:

    标签: dart


    【解决方案1】:

    你是在说摇树吗?

    如果是这样,请参阅this

    通过 dart2js 工具运行主应用程序,该工具支持 JavaScript 和 Dart 输出的 tree-shaking。请注意,摇树没有命令行选项,因为 dart2js 总是摇树。为简单起见,让我们生成 Dart。

    dart2js --output-type=dart embiggen.dart --categories=Server

    基于 cmets 的更新答案: dart2js 旨在用作构建过程的一部分。它可以进行 tree-shaking 以及其他任务,但它不能用作开发过程中的辅助工具,即它不能用于重构代码。据我所知,目前还没有这样的工具。

    【讨论】:

    • 这只适用于基于浏览器的应用程序吗?我确实尝试过,但它似乎不适用于命令行应用程序(即'dart:io')。
    • 这也适用于命令行应用程序。再次阅读您的问题,“冗余”是什么意思? AFAIK tree-shaking 只删除无法访问的代码(有时包含在冗余代码的定义中),其他类型的优化是在 VM 级别进行的,但老实说我不知道​​它做了什么,例如重复代码。
    • 请尝试使用命令行应用程序,让我知道它是否有效。冗余是指未执行的代码。
    • 刚刚尝试使用 Seth 博客中的示例,它可以工作,但我必须在参数中添加 --categories=Server 才能使其工作(如果我不这样做,将找不到 dart:io - 将更新我的答案)。您能否发布一个不起作用的代码示例?
    • 好的,我会尽快回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多