オブジェクトの気持ち | 悪態のプログラマ

悪態のプログラマ

とある職業プログラマの悪態を綴る。
入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。

誰だって、自分の担当とは関係ない仕事を押し付けられたら嫌だろう。「本当はあいつがやるべきなのに」とか、「別に担当を立てるべきだ」と思うようなこともあるのではないだろうか。

プログラムだって同じである。

ひとつの「オブジェクト」に、何でもかんでもやらせようとすると、オブジェクトだって怒りだす。やがてはバグとなって噴出するだろう。


オブジェクト指向は、擬人化という観点で語られることがある。オブジェクトを人に見立てて、その役割、仕事を考えようというわけだ。オブジェクト指向の「クラス」は、データと手続きをまとめてモノ(オブジェクト)になぞらえたものだ。その結果、非常に擬人化しやすくなっている。

「現実世界をそのままクラスで表現することは出来ない」というのと同じような意味で、クラスの擬人化に限界を感じる人もいる。しかし、擬人化というのは、「モノを人に見立てる」ということだけではない。むしろ、「自分がモノになりきる」ことである。

人間は、色々なものに感情移入することができる。犬猫はもちろん昆虫や宇宙生物、雑草や石ころに至るまで。もちろん、「クラス」に対しても可能だろう。さらに言えば、関数や変数ですら擬人化することができるはずだ。


自分の経験的から言っても、クラス設計の際に「オブジェクトの気持ちを考える」というのは有効なことだと思う。

クラスにどのようなデータや機能を持たせるか、インターフェースはどうするか、といったことを考えるとき、そのクラスの「立場に立つ」と、自然と決まっていくことは多い。また、できたクラスは、自己完結した汎用な設計になりやすいのだ。

それは、システム全体の機能などにはとらわれず、クラスの「個」としてのありかたを意識しやすいからかもしれない。

クリックお願いします →



■関連記事
バグの気持ち



オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
平澤 章
日経BP社 (2004/06/03)
売り上げランキング: 8,743
おすすめ度の平均: 4.21
5 読んで損はない1冊だと思います!
5 基礎がしっかりしているベテランエンジニアにこそ。
5 レガシーからオブジェクトへの入門書


Javaプログラマガ知ツテオクベキコト
えんどう やすゆき
毎日コミュニケーションズ (2005/08)
売り上げランキング: 35,391
おすすめ度の平均: 4.67
4 一風変った良書
5 「何故プログラミングをするのか?」を思い出させてくれる本
5 何のためにこの本を読むかが分かりやすい