如何排除调试代码

2023-11-22

假设我有一个简单的记录器:

void main() {
  var logger = new MyLogger();
  logger.log("hello Dart");
}

我希望这段代码在开发模式(虚拟机检查模式)下运行,但我不希望它出现在我的生产代码中。我希望它能被 dart2js 编译器“摇晃”掉。有一些标准的方法吗?


您可以将代码嵌入到assert。断言在生产代码中被忽略,并且我确信在以下情况下不会构建为 JSpub build运行于release mode.

class X {
  X() {
    print('x created');
  }

  void log(String m) {
    print(m);
  }
}

bool log(String m) {
  new X()..log(m);
      return true;
}

void main() {
  assert(() {
    new X()..log('in Assert');
    return true;
  });

  assert(() => log('in Assert')); // use a wrapper function
}

当您创建返回的包装方法时true比你不必每次都明确地做。

你也可以看看这个问题如何实现类似预编译指令的功能

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何排除调试代码 的相关文章

随机推荐

  • 是否可以链接两个曲面图的轴以进行 3d 旋转?

    假设我有两个大小相等的二维矩阵 并为每个矩阵创建一个曲面图 有没有一种方法可以链接两个图的轴 以便可以沿同一方向同时 3D 旋转它们 和谁玩ActionPostCallback and ActionPreCallback肯定是一种解决方案
  • 为什么 Google Compute Engine 不运行我的容器?

    我可以成功地做到这一点 将我的应用程序捆绑到 Docker 镜像中 Build this image into a container using Google Cloud Build upon push to master 此容器存储在注
  • 将 jiffies 转换为秒

    我有一段用户空间代码正在解析 proc PID task TID stat 以获取 cpu 使用情况 我可以使用 HZ 获取每秒的 jiffies 但此代码可以移动到另一台具有不同配置值的机器 有没有办法在运行时从用户空间获取HZ的值 你把
  • j_security_check 重定向

    我正在Tomcat环境中学习Java servlet 我正在学习如何使用 j security check 使用基于表单的登录身份验证 因此 在我的 servlet 中 我有一个包含 j username 和 j password 的登录页
  • 在 pyspark 中拆分列

    我正在尝试在 pyspark 中拆分数据框 这是我拥有的数据 df sc parallelize 1 Foo 10 2 Bar 11 3 Car 12 toDF Key Value df df withColumn Splitted spl
  • htaccess 设置单个文件的 mimetype

    在 htaccess 文件中 可以为给定的扩展名设置 mimetype 例如 AddType application javascript js 如何为单个文件而不是扩展名设置 mimetype 我有一个 Javascript 需要与同一文
  • PHP中获取调用网页的URL

    我正在为一个班级开发网站统计引擎 这个想法是 您可以简单地在网页中嵌入一些代码 该代码将在每个页面加载时调用统计网站 然后统计网站将跟踪您的点击率等等 没有什么突破性的 我想做的是能够按网页细分网站点击量 例如 一个人可以在每个页面上包含相
  • 如何在 Docker 上运行 Spark?

    无法在 Docker 上运行 Apache Spark 当我尝试从驱动程序与 Spark Master 进行通信时 我收到下一个错误 15 04 03 13 08 28 警告 TaskSchedulerImpl 初始作业尚未接受 任何资源
  • Windows 服务安装程序不读取 App.Config 文件

    我已经在我的项目中添加了 App Config 我有一个安装程序类 ProjectInstaller cs 它需要从 App config 读取值 我正在提供钥匙 以下是示例代码 ConfigurationManager AppSettin
  • Android 谷歌地图片段

    我正在开发一个应用程序 顶部有一个菜单 菜单内有一些按钮 我正在尝试将谷歌地图添加到其中一个按钮 但我不是很成功 我正在关注本教程但不是直接实施谷歌地图MainActivity我将它们添加到按下按钮时启动的片段中 一切都很好 当我按下按钮时
  • 通过 pyspark.ml.tuning.TrainValidationSplit 调整后如何获得最佳参数?

    我正在尝试调整 Spark PySpark 的超参数ALS模型由TrainValidationSplit 它运行良好 但我想知道哪种超参数组合是最好的 评估后如何获得最佳参数 from pyspark ml recommendation i
  • PHP 的 mysql_real_escape_string() 的 Java 等效项

    Java 是否有相当于 PHP 的 mysql real escape string 这是为了在将 SQL 注入尝试传递给 Statement execute 之前逃避它们 我知道我可以使用PreparedStatement代替 但我们假设
  • 将不同长度的向量保存在矩阵/数据框中

    我有一个称为区域的长度为 166860 的数字 它由 412 个不同的元素组成 大部分长度为 405 一些长度为 809 我有它们的开始和结束 id 我的目标是提取它们并将它们放入具有 412 列的矩阵 数据框中 现在 我正在尝试这段代码
  • 文件的拖放是如何完成的?

    如在winamp或vlc播放器中 如何拖放文件 我的意思是我想知道什么样的编码进入应用程序 我想知道 c 在 Windows 上的纯 C C 中 开始阅读有关拖动接受文件函数和WM DROPFILES信息 如果您使用更强大的 C 库 Qt
  • 在 perl 中匹配字符串数组进行搜索的最简单方法?

    我想要做的是根据我的搜索字符串检查字符串数组并获取相应的密钥 以便我可以存储它 有没有一种神奇的方法可以用 Perl 来做到这一点 或者我注定要使用循环 如果是这样 最有效的方法是什么 我对 Perl 比较陌生 我只编写了另外 2 个脚本
  • .NET 中的窗口句柄可以改变它的值吗?

    在 NET 进程的生命周期中 System Windows Forms Form 假设使用的主要形式Application Run form 实际上改变它的值 即如果在不同的进程中使用句柄的值 例如IntPtr handle User32
  • 在 Django 模型中表示工作日的多选字段

    我一直在寻找一种优雅的方式来在 Django 模型中表示多选工作日字段 周一 周二 周三 我最初考虑使用按位数学来处理整数字段 但我不确定这是否是正确的方法 这将是一个最常被阅读的领域 我希望 Queryset 方法类似于Entry obj
  • 如何在Android中从网络加载React Native JS包?

    对于我的 Android 应用程序 我需要能够在运行时动态更新捆绑包 并使用资产中预先保存的捆绑包作为后备 我在官方文档 在 iOS 版本的 React Native 中 有一个方法可以让你指定一个 URL 来加载 JS 包 但我还没有看到
  • Cordova + Angularjs + 设备就绪

    我正在使用 Cordova 和 AngularJS 开发移动应用程序 如何在 Cordova 设备准备就绪之前限制 AngluarJS 的引导 基本上我不想在设备准备好之前使用任何 AngularJS 控制器 手动引导您的 Angular
  • 如何排除调试代码

    假设我有一个简单的记录器 void main var logger new MyLogger logger log hello Dart 我希望这段代码在开发模式 虚拟机检查模式 下运行 但我不希望它出现在我的生产代码中 我希望它能被 da