StackOverflow 上有几个问题讨论何时应该使用断言语句而不是抛出一些异常的问题。(示例在这里、这里、这里、这里和这里。
但是,我开始怀疑断言与抛出的传统智慧是基于您在 JVM 中运行的假设。在 GWT 世界中,您的 Java 被音译为 JavaScript 并在浏览器的上下文中运行,权衡的集合感觉不同:在浏览器中运行时断言总是被编译掉,并且任何使 JavaScript 大小保持较小的东西是一个胜利,特别是如果您的 Web 应用程序必须在手机上运行。然而,断言确实在 DevMode 中运行,因此它们在开发过程中具有实用性。
所以我的问题是:有没有人考虑过一套管理如何在 GWT 中使用 assert 语句的最佳实践规则?我的团队成员问我“既然断言被编译出来,拥有它们是否有意义?”,我想为他们提供一个好的答案。
另外,是否有人对 Google 的 GWT 开发人员在此主题上的理念有任何见解?查看 GWT 源代码,他们似乎经常使用它。