ゆなこんブログ

ゆなこんぴゅーたー (Yuna Computer) の公式ブログ

必ずOption Infer Onにする

ベストプラクティス

必ず Option Infer On にします。

Option Infer On

ただし、ソースコードに明示はしないで、プロジェクトの設定で On にします。 最新の Visual Studio のプロジェクト設定はデフォルトで On です。

もしプロジェクトの設定が Off になっている場合、以下の記事を参考に On に戻してください。

blog.yuna-computer.com

理由

Option Infer Off だと、ローカル型の推論 (Local Type Inference) がされなくなってしまいます。 推論されないということは、As 句で型を明示しなければならないので、非常にめんどくさいことになります。 めんどくさければ、楽をしようと Option Strict Off にしだす人が現れます。 その結果、変数の型が Object 型になってしまい、実行動作が遅くなり、メモリ使用量が増えてしまいます。 型の支援も得にくくなるため、開発効率も悪化します。

Option Infer On ならば、 Option Strict On の利点を得たまま、欠点である「めんどくさいこと」をカバーできます。

Microsoft は、ローカル型の推論を新機能として導入した時に、互換性のためにデフォルトで Option Strict OffOption Infer On にしました。 しかし、Option Strict On の時こそ、 Option Infer On の真価を発揮できます。 互換性を全く考慮する必要のない、新しいプロジェクトにおいては、 Option Strict On かつ Option Infer On にします。

方法

プロジェクトの設定で、Option Infer On にします。 個々のファイルには Option Infer On を一切書きません。

常にプロジェクト全体が Option Infer On の状態になり、一貫性がもてます。 ファイルを追加しても自然と Option Infer On になります。 これは簡単です。ソースコードが簡潔になります。

その他の方法

Visual Basic コンパイラを直接呼び出している場合、常に /optioninfer+ オプションを付けてコンパイルします。

トレードオフ

トレードオフはないように思えます。

通常、 Option Infer On のデメリットはありません。 また、 Option Infer Off のメリットはありません。

常に Option Infer On にしてください。

参照

blog.yuna-computer.com