それで、私の教授は私が取り組んでいるプロジェクトについてフィードバックをしてくれました。彼はこのコードにいくつかのマークを付けました。
if (comboVendor.SelectedIndex == 0) {
createVendor cv = new createVendor();
cv.ShowDialog();
loadVendors();
}
これは、コンボボックスの「インデックス変更」ハンドラーにあります。ユーザーが新しいベンダーを作成したい場合に使用されます。私の一番上のオプション(インデックス0、変更されることはありません)は[新しいベンダーの作成]ダイアログを開きます。したがって、コンボボックスの内容は次のようになります。
Create New Vendor...
Existing Vendor
Existing Vendor 2
Existing Vendor 3
彼の問題は最初の行コードにあります:
if (comboVendor.SelectedIndex == 0)
彼は、0は定数であるべきだと主張し、そのために実際にマークをドッキングしました。彼は、コードでリテラルを使用すべきではないと主張しています。
問題は、なぜその状況でそのコードを一定にしたいのか理解できないことです。そのインデックスは決して変化せず、微調整する必要があるものでもありません。非常に特定の状況で使用され、変更されない単一の0をメモリに保持することは、メモリの無駄のようです。
-1
でstr.indexOf(substr) != -1
「のためstr
含まれていsubstr
prefectly正当化されます」。しかし、ここでは、0の意味は明らかではありません(新しいベンダーを作成することとの関係はどうですか?)、または真に一定ではありません(新しいベンダーを作成する方法が変わったらどうなりますか?)。
int.Zero
代わりに使用して、彼を幸せにすることができます:)