プログラミング言語によって異なります。
現代/人気のある言語のほとんどは短絡評価をサポートしています。つまり、プログラムは式全体を評価しませんが、式全体の結果を取得した直後に評価を停止します(他の言語はすでに例を示しています)。
しかし、例外があります
短絡評価をサポートしていない私が知っている2つの言語は、Microsoft VB(6)とVB.NETです。
VB6はそれをまったくサポートしていないので、ここではIf
一般的な最適化手法の場合はネストします。さらに次のような表現で
If Not rs Is Nothing And Not rs.EOF
ネストを使用しないとIf
、が実行中に実行エラーが発生しrs
ますNothing
。
VB.NET
短絡評価をサポートする2つの新しい論理演算子を導入しましAndAlso
た。OrElse
標準VB.NET
And
およびOr
演算子は、新規開発者の場合のバグの一般的な原因である短絡評価をサポートしていません。
最適化
どちらの場合も(言語サポートであり、短絡評価ではありません)、最初に評価するのが速い順に式をチェックできます。
したがって、(ユーザーが女性で、キーが偶数でログインしている場合はDBをチェックインする)の代わりに:
if (db.getUserSex() == FEMALE && userKey % 2 == 0 && userKey % 2 && isUserLogged)
使用(ログインしているかどうか(ブール値)、偶数キー(算術演算子)を使用してチェックし、最後にDBで性別をチェックします):
if (isUserLogged && userKey % 2 == 0 && db.getUserSex() == FEMALE)