問題タブ [preconditions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
78 参照

java - Google Precondition Library のチェッカーが文字列ではなくオブジェクトを取る理由

Google Precondition ライブラリの check* メソッドが文字列ではなくオブジェクトを取るのはなぜですか? オブジェクトが String.valueOf() と呼ばれていることがわかります。この設計は、クライアントに代わって想定を行わなかったためだと思います。しかし、クライアントが文字列以外でこれを呼び出す合理的なケースについては考えられません。

クライアントは toString() メソッドを実装したオブジェクトを渡すことができると思います。しかし、これをどのように使用できるかについて、実際の例を挙げていただけますか/これを使用していますか?

0 投票する
1 に答える
1549 参照

yaml - yamlを使用したliquibaseの前提条件でdbmsを倍増

liquibaseの前提条件ドキュメントでは、以下の例を見ることができます:

yaml を使用して同じルールを再作成しようとすると、機能しません。

私も次のようなことを試しました:

私はそれが使用できることを知っています:

私は常に次のようなエラーが発生します。

preConditions で複数の dbms を使用するにはどうすればよいですか?

0 投票する
1 に答える
1357 参照

scala - Scalatest は、各テストでデータベースが利用可能であることを前提としています

私のテストの多くは、データベースに依存しています。テストケースを実行する前に、次を使用して接続を確認します。

それを各テストケースに追加する!!! CANCELED !!!と、正しいメッセージを含む正しいものが出力に表示されます。

メソッドに追加するとbeforeEach

私が見ることができるのはException encountered when attempting to run a suite with class name*** ABORTED ***assume通話中の)とだけです。

この仮定を各テストケースに本当に追加する必要がありますか?

0 投票する
2 に答える
1673 参照

java - Android で関数の前提条件を検証する

通常、パブリック メソッドを記述するときは、いくつかのエラー チェックを行います。

Androidプログラミングでは、これに対する標準的なアプローチは何ですか? フラグメントがクラッシュすると、エミュレーターが前のフラグメントに移動することに気付きました。ユーザーに表示される動作から、問題ないと思います。しかし、例外/エラー状態に対処する最良の方法は何ですか?

0 投票する
1 に答える
205 参照

c# - DRY を維持するために、前提条件をメソッドにグループ化することは容認できますか?

同様のパラメーターを持つさまざまな関数の前提条件を記述する場合、アサーションまたは例外を明示的に記述するのではなく、静的メソッドにグループ化したいと考えています。たとえば、代わりに

書いたほうがいいです

これはより自然に感じられ、記述する必要のあるコードを削減するのに役立ちます (そして、アサーションのエラーの数を減らすことさえあります!) が、前提条件がメソッドの正確な意図を文書化するのに役立つはずであるという考えに反するようです.

これは一般的なアンチパターンですか、それともこれを行わない重大な理由はありますか?

また、例外を使用した場合、答えは異なりますか?

0 投票する
7 に答える
6431 参照

java - notNull チェックで IllegalArgumentException をスローする前提条件ライブラリ

オブジェクトがnull でないかどうかをチェックするときに、 NullPointerException の代わりに IllegalArgumentException をスローするApache Commons ValidateまたはGuava Preconditionsの代替手段を知っていますか ( Spring Assertを除く)。


私はJavadocsが言うことを知っています:

アプリケーションは、このクラス [NullPointerException] のインスタンスをスローして、null オブジェクトの他の不正な使用を示す必要があります。

それにもかかわらず、私はそれが好きではありません。私にとって、NPE は常にどこかで null 参照を確保するのを忘れていたことを意味していました。私の目は非常に訓練されており、1 秒あたり数ページの速度でログを閲覧しているのを見つけることができました。そうすると、頭の中で常にバグ アラートが有効になっています。したがって、IllegalArgumentException が予想される場所でスローされると、かなり混乱します。

私が豆を持っているとしましょう:

およびサービスメソッド:

状況によっては、人が電話を持っていなくても問題ない場合があります (私のおばあちゃんは電話を持っていません)。しかし、そのような人に電話をかけたい場合は、 IllegalArgumentを渡してcallメソッドを呼び出すことです。階層を見てください - NullPointerException は IllegalArgumentException のサブクラスでさえありません。基本的には、null 参照で getter を呼び出そうとしました

その上、すでに議論があり、私が完全に支持するこの素晴らしい答えがあります. だから私の質問はただ - 私はこのような醜いことをする必要がありますか?

または、notNull チェックのために IllegalArgumentException をスローするだけのライブラリはありますか?

0 投票する
1 に答える
2013 参照

iis - IIS のリライト モジュールのアウトバウンド ルールで使用する URL の一部をキャプチャする

再書き込みの値として使用する送信ルールで URL の一部をキャプチャする方法はありますか?

現在、{REQUEST_URI} に対するパターンを入力する前提条件を使用しています。この前提条件を使用するアウトバウンド ルールで、要求 URI からのキャプチャ グループを使用したいと考えています。{C:1} を試しましたが、うまくいきませんでした。

前提条件:

アウトバウンド ルール:

{C:1} は、前提条件 "myapp(.*)" からのキャプチャ グループです。

したがって、 http://myapp40.com から 40/originalrelativelink のような応答でリンクを書き換えます。

ありがとう!