は、パラメーターを指定Main
して呼び出されることは決してないように定義されていnull
ます。なんらかの方法で null パラメータを受け取った場合、環境が非常に壊れているため、何をしてもすべての賭けが無効になるため、 をチェックしても何も得られませんnull
。
一方、null をチェックする場合、コードの読者と管理者はその理由を理解する必要があります。元のプログラマーは、なぜこのような無駄なチェックを入れたのでしょうか? 彼は私たちが知らないことを知っていましたか?彼がいくつかの奇妙なコーナーケースのバグを発見した可能性があるため、単純に削除することはできません!
言い換えれば、プログラムが複雑になり、コードの将来の読者をつまずかせることになります。そうしないでください。その将来のユーザーはあなたかもしれません。未来の自分を幸せにして、意味のあるコードを書きましょう。
ただし、そのような null チェックが意味を持つ状況では、それは一番左の条件でなければなりません。
このようなテストargs.Length == 0 || args == null
では: が最初args.Length
に評価され、それが失敗した場合は と比較されます。つまり、が null の場合、コードは例外をスローします。そのはずargs
null
args
args == null || args.Length == 0