StackOverflowには、assertステートメントを使用する必要がある場合と例外をスローする場合の問題について説明するいくつかの質問があります。(ここ、ここ、ここ、ここ、ここ、ここの例。
ただし、assert-vs-throwの従来の知識は、JVM内で実行しているという仮定に基づいているのではないかと思うようになりました。JavaがJavaScriptに変換され、ブラウザーのコンテキストで実行されるGWTユニバースでは、一連のトレードオフの感じが異なります。ブラウザーで実行する場合、アサートは常にコンパイルされ、JavaScriptのサイズを小さく保つものはすべてコンパイルされます。特にWebアプリケーションを携帯電話で実行する必要がある場合は、これがメリットです。ただし、アサートはDevModeで実行されるため、開発中にユーティリティが使用されます。
だから私の質問は次のとおりです:GWTでassertステートメントを使用する方法を管理する一連のベストプラクティスルールについて誰かが考えたことはありますか?チームのメンバーに「アサーションがコンパイルされたので、それを持っているのは理にかなっていますか?」と聞かれましたが、良い答えが欲しいです。
また、GoogleのGWTの開発者がこのテーマに関して持っている哲学について誰かが洞察を持っていますか?GWTソースコードを見ると、彼らはそれを頻繁に使用しているように見えます。