閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

xxxManager はよくない

クラスの名称をなんたら Manager とするのは良くない、という話。

以前にも似たような趣旨の話を見かけた記憶があるのですが、どこだったか思い出せません。とにかくまあ、前回読んだ時にも気をつけようと思ったのですが、それでもやっぱりたくさんあります。 Manager クラス。

大体 hoge があって hogeManager がある、みたいな感じになってしまっています。 foo があれば fooManager 。もっと、役割を限定しなければいけませんね。

Manager という名前がついていても、実際のそのクラスの役割はそれほど大したことをやっていないことも多いです。例えば画面に何かを表示するだけとか、データを持っておくだけとか。そういうクラスは名称を正確なものに変更するだけでもだいぶ違うのではと思います。名前を変更するのもリファクタリングのうち。

でも、いま開発しているプログラムの方は人増えてきたので安易に変更できないんですよね。 VSS だとファイル名の変更や削除は管理できないし。ま、いま手伝いしているのは試作品なので……、と逃げてみたり。自分ひとりで担当している方のプログラムは、ちゃんとリファクタリングしていこう。

こういうネタなら ML にも投げれるかな、とふと思いましたが、職場なので投げられません。あ、投げるだけならできるかな? 反応あっても気付けないけれど。

追記

ぐぐったらすぐ見つかりました。

xxxObject も xxxHandler も xxxController も xxxContext もあるよ! ネーミングセンスないからって当たり障りの無い名前付けようとして自爆していますね。

良いプログラマになるためには、まず良い名前を付けられるようになることから始めるべきですか……。