PG日誌

受託系 PG が C# の事を書いています

Responsibility = 責任ではない?

責任というとどういうものを想像するかは人によると思いますが「責任」とは、どちらを想像しますか?

  1. 取るもの
  2. 果たすもの

日本(というか日本語圏のミームの中)では、では責任と言ったら取るもので

  1. 切腹する
  2. 坊主にする
  3. 辞任する

なんかが代表的なイメージだと思います。(最近は本当に酷いですが)マスコミ等は、「責任を果たせー」と主張してる光景はほぼ見ないですし、専ら「責任を取れー(=つまり辞めろ)」という主張を目にすると思います。

んでタイトルの件ですが、アメリカ(というか、アメリカ発のIT技術関係では)責任は間違いなく"果たすもの"です。

有名なOOPの原則の一つの、SRP(Single Responsibility Principle) = 単一責任の原則もオブジェクトが責任を取る方法は切腹、坊主、辞任のいずれか一つという意味では当然なくて、(概ね)「オブジェクトは役割を1つ(変更の理由が一つですが)以上にしてはいけない。」です。

事前に取り決めた約束事 = 「契約」と見立てて、それを果たせるかどうかを「責任」としています。

この件は、、、、翻訳が良くないというだけの話ですが、常用している意味と違うので勘違いしないようにしましょう。そもそも商習慣というかミームとして、事前に役割を決めて契約するという概念がそもそも希薄なので

Responsibility = 役割

くらいに認識していた方が良いと思います。