何かインスタンスを作る役割を持つクラスを作る場合
Creator か Generator か Builder か Maker かよく迷いませんか?
メソッドにしてもそうです。
私的なイメージは
[Create]
属性的な情報を渡してもらって生成する場合。
たとえば、4人乗りで黒でハイブリッドといったオーダー・イメージにあわせて車を作る。
File.Create とか WebRequest.Create とか。
[Generate]
使い手の情報はイラン、こっちの都合で生成する場合。
たとえば、在庫消化のためにあまったパーツで車を作る。
GUID とか 乱数とか。(FCLだとどっちも Generate じゃないけどw)
[Build]
部品となる情報を渡してもらって完成品を生成する場合。
たとえば、指定されたエンジンやタイヤやシャーシを使って車を作る。
StringBuilder とか CommandBuilder とか。
[Make]
わからん・・・・候補には挙がるけどいつも使わない。
皆さんはどうですか?
また、少し違う状況ですが Hoge のインスタンスを返すメソッドを作る際、GetHoge か CreateHoge か迷いませんか?
単に Hoge を作る場合じゃなくて、○○な Hoge を返すような場合、ちょくちょく迷います・・・