ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

型のデザインで注意すること

Effective C++を読みながらC++の勉強を再開。第4章19項。
クラスのデザインは型のデザイン。デザインするとき考えるべき問題を本より引用。

・新しい型のオブジェクトはどのように生成され、破棄されるのか?
・オブジェクトの初期化と代入は、異なる操作になるか?
・新しい型のオブジェクトの値渡しは、具体的にどのようなものになるか?
・新しい型のオブジェクトが持てる有効な値はどのようなものになるか?
・新しい型は継承の階層の中にうまくあてはまるか?
・新しい型はどのような型変換を受けるか?
・新しい型で意味のある演算子や関数は何か?
・標準的な関数で禁止すべきものは何か?
・新しい型のメンバにアクセスできるものは何か?
・新しい型の「宣言されていないインタフェース」は何か?
・新しい型はどのくらい一般的か?
・本当に新しい型が必要なのか?

新しいクラスを作るときにはここを見直してデザインを考えよう。特に自分にとって一番重要なのは最後の問かもしれない。とりあえずクラスにしてみましたという場当たり的なソースを書いてしまうことがある。まずは本当にクラスにする必要があるのか見直す癖をつけないと。