Store
クラスがあれば、書くことができます
Store starbucks;
ここで、変数名はオブジェクト自体の名前です。
あるいは、私は書くことができます
Store shop( "starbucks" );
name
内部の変数Store
は で初期化され"starbucks"
ます。ここでは、変数名は一般的ですが、オブジェクトには特定の店舗名が含まれています。
どちらが望ましいですか?
Store
クラスがあれば、書くことができます
Store starbucks;
ここで、変数名はオブジェクト自体の名前です。
あるいは、私は書くことができます
Store shop( "starbucks" );
name
内部の変数Store
は で初期化され"starbucks"
ます。ここでは、変数名は一般的ですが、オブジェクトには特定の店舗名が含まれています。
どちらが望ましいですか?
の実世界での使用は考えられませんStore starbucks;
。新しいストアを追加したいときはいつでも、すべての新しいコードを記述して再コンパイルする必要があります。単体テストなどのテスト データ以外では、これは使用しないでください。
同様の理由で、ハードコーディングStore shop( "starbucks" );
も悪い考えです。繰り返しますが、インスタンス データを変更しても、コードを再コンパイルする必要はありません。
私が書いたほとんどのコードは、ユーザー入力とデータ ストアの組み合わせを使用してインスタンスを作成します。これは、次のようなStore shop; shop.load();
、またはより可能性の高い方法で行われますStore shop = storeFactory.getStore();
さらに、オブジェクトの名前としてオブジェクトのタイプを使用することを好みます。これは例になりStore store = storeFactory.getStore();
ます。ショップがストア タイプであることを覚えておく必要がないため、読者の認知的負荷が軽減されます。