オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。

提供: MonoBook
ナビゲーションに移動 検索に移動

オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れないとは、オブジェクト指向設計の難しさを表現したものである。

概要[編集 | ソースを編集]

2001年に始まり今なお続く「石川梨華ってウンコするの?」という大論争をオブジェクト指向で設計するとどうなるのかという問題である。 下品な例だが納期が迫った時期に顧客の要望による大幅な仕様変更、それに耐えうる設計見積を作れるか、という非常に根の深い問題である。 ベストな答えはまだ得られていない。

主な見解[編集 | ソースを編集]

排便メソッドをオーバーライド[編集 | ソースを編集]

排便メソッドをオーバーライド黄金nullを返すようにするという意見である。

美少女には排便自体が存在してはならない、という意見があり根本的な解決には至っていない。

仕様が間違ってる[編集 | ソースを編集]

美少女でもウンコはするものであり、そもそも仕様が間違ってるという意見である。顧客との直取引であれば「フルスクラッチからの作り直しになる」と説明し、高額な見積を提示することで回避すればいいと言う。

だが、顧客の要求仕様は絶対であり、ましてや孫請け曾孫受けのさらに派遣社員、いわゆるITドカタに拒否する権限などないという反論意見がある。彼らは黒いモノも白いと言わなければならない。

  • 顧客「美少女はウンコしないよ」
  • 元請「美少女はウンコしないらしいぞ」
  • 下請「美少女はウンコしないことにします」
  • 孫請「…」
  • 派遣「」

これがデスマーチの始まりだ。

美少女クラスは天使クラスからの派生[編集 | ソースを編集]

美少女クラスは人間クラスではなく天使クラスからの派生であるという意見である。

だが、美少女も時間経過により人間クラスを基底とするババアになり排便を行うという反論意見がある。 そのような意見に付随し、あくまでも「見せかけ」だけ排便を消すのが得策ではないかと意見もある。

排便はメソッドではない[編集 | ソースを編集]

一般的に排便は他人から施されるものではない。 よって以下のような設計になるのではないかという意見である。

  • 排便メソッド → 浣腸
  • 排便プロパティ → 人工肛門
  • 排便イベント → 通常はこれ

排泄イベント[編集 | ソースを編集]

前述の排便イベントでは「排便」が残るという問題を残している。 そこで排便イベントではなく、もっと抽象化した排泄イベントにし、そのイベント引数として排泄物オブジェクトを用意し、そこで「どこから」「なにを」を決めるという案である。

主な排泄物オブジェクトの「なにをプロパティ

  • 唾液
  • 尿
  • 便

かなり正解に近いと思われる。

ただし理論上は正解に近くても、プログラミング言語の機能としてイベントクロージャを持たないものでは、Observerパターンなどを駆使して無駄に壮大なソースコードを記述しなければならないという技術面およびメンテナンス性の問題を抱えている。

ただし、排便がイベントでは便意を我慢することが出来ないのでないか、という反論意見もある。

2chに立てたスレ[編集 | ソースを編集]

ひとりで考えても考えてもベストな答えが見つからないので2chにスレを立てまくってみた。 だが、今なお的確な答えは得られていない。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]