オブジェクトの気持ちになる
オブジェクト指向プログラミングの極意を一言で表した言葉。これに尽きる。人間関係と同じ。
-
- 「あの人は最近残業ばかりで大変そうだ」
- 「この仕事はあの人がすべきだ」
- 「最近のあの人の仕事は遅いなあ」
- 「あの人とあの人は一緒に仕事をした方が効率がいいなあ」
毎日のように考えていることですよね。複数のプロジェクトを任されて処理しきれなくなっている人や、処理速度がついてこなくて残業ばかりになっている人もいますよね。そんな時はどうするか。仕事を他の人に任せたり、役割分担を見直します。つまり、相手の立場に立って物事を考えることなんです。
それと同じで、オブジェクト指向プログラミングも、オブジェクトの立場に立って、そのオブジェクトの気持ちを考えるのです。想像をたくましくして。
いますよね、窮屈にしているオブジェクトが。沢山の仕事を持っているオブジェクトもいますね。仕事が多すぎてオブジェクト自身が理解できていないオブジェクトもいますよね。また、複数の役割を担わされて泣いているオブジェクトもいるでしょう。反対に、仕事がなくてつまらないといっているオブジェクトも見当たるでしょう。一つの仕事を複数のオブジェクトが取り合って、喧嘩してるオブジェクトもいませんか?
そうやって、オブジェクトの気持ちを想像してみることが大事なんです。そして愛情を持って、仲介して上げましょう。
-
- 沢山の仕事を持っているオブジェクトがいれば、作業分担するオブジェクトを作ってあげましょう。
- 難しい仕事をしているオブジェクトの仕事量は減らしてあげましょう。
- 仕事量の少ないオブジェクトには、適度な仕事量を上げましょう。
- 管理職レベルのオブジェクトには、申し訳ないけど、少し頑張ってもらいましょう。
- 一般職レベルのオブジェクトには、これまた申し訳ないけど、単純作業を頑張ってもらいましょう。
- 一つの役割を複数のオブジェクトが取り合っている場合は、ひとつのオブジェクトに任せてしまいましょう
- 同じような作業をしているオブジェクトがいれば、ひとつのオブジェクトにまとめてしまいましょう。
- 作業内容を知っているオブジェクトがいるのであれば、その仕事を引き継いでしまいましょう。
オブジェクトの不平不満を聞き取り、愛情を持って仲介するのがプログラマの役割です。