「オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。」の版間の差分
8行目: | 8行目: | ||
==主な見解== | ==主な見解== | ||
===排便メソッドをオーバーライド=== | ===排便メソッドをオーバーライド=== | ||
− | + | 排便メソッドを[[オーバーライド]]し[[黄金]]や[[null]]を返すようにするという意見である。 | |
美少女には排便自体が存在してはならない、という意見があり根本的な解決には至っていない。 | 美少女には排便自体が存在してはならない、という意見があり根本的な解決には至っていない。 | ||
===仕様が間違ってる=== | ===仕様が間違ってる=== | ||
− | + | 美少女でも[[ウンコ]]はするものであり、そもそも[[仕様]]が間違ってるという意見である。顧客との直取引であれば「[[フルスクラッチ]]からの作り直しになる」と説明し、高額な[[見積]]を提示することで回避すればいいと言う。 | |
− | + | だが、顧客の要求仕様は絶対であり、ましてや[[孫請け]]や[[曾孫受け]]のさらに[[派遣社員]]、いわゆる[[ITドカタ]]に拒否する権限などないという反論意見がある。彼らは黒いモノも白いと言わなければならない。 | |
*顧客「美少女はウンコしないよ」 | *顧客「美少女はウンコしないよ」 | ||
*元請「美少女はウンコしないらしいぞ」 | *元請「美少女はウンコしないらしいぞ」 | ||
22行目: | 22行目: | ||
*派遣「」 | *派遣「」 | ||
− | これが[[デスマーチ]] | + | これが[[デスマーチ]]の始まりだ。 |
===美少女クラスは天使クラスからの派生=== | ===美少女クラスは天使クラスからの派生=== | ||
美少女クラスは人間クラスではなく天使クラスからの派生であるという意見である。 | 美少女クラスは人間クラスではなく天使クラスからの派生であるという意見である。 | ||
− | + | だが、美少女も時間経過により人間クラスを基底とする[[ババア]]になり排便を行うという反論意見がある。 | |
+ | そのような意見に付随し、あくまでも「見せかけ」だけ排便を消すのが得策ではないかと意見もある。 | ||
===排便はメソッドではない=== | ===排便はメソッドではない=== | ||
− | + | 一般的に排便は他人から施されるものではない。 | |
− | + | よって以下のような[[設計]]になるのではないかという意見である。 | |
− | * | + | *排便メソッド → [[浣腸]] |
− | * | + | *排便プロパティ → [[人工肛門]] |
*排便イベント → 通常はこれ | *排便イベント → 通常はこれ | ||
===排泄イベント=== | ===排泄イベント=== | ||
前述の排便イベントでは「排便」が残るという問題を残している。 | 前述の排便イベントでは「排便」が残るという問題を残している。 | ||
− | + | そこで排便イベントではなく、もっと[[抽象化]]した排泄イベントにし、その[[イベント引数]]として排泄物オブジェクトを用意し、そこで「どこから」「なにを」を決めるという案である。 | |
− | + | 主な排泄物オブジェクトの「なにをプロパティ」 | |
*唾液 | *唾液 | ||
*汗 | *汗 | ||
*尿 | *尿 | ||
*便 | *便 | ||
+ | |||
+ | かなり正解に近いと思われる。 | ||
+ | |||
+ | ただし理論上は正解に近くても、[[プログラミング言語]]の機能として[[イベント]]や[[クロージャ]]を持たないものでは、[[Observerパターン]]などを駆使して無駄に壮大な[[ソースコード]]を記述しなければならないという技術面および[[メンテナンス性]]の問題を抱えている。 | ||
== 2chに立てたスレ == | == 2chに立てたスレ == |
2014年5月8日 (木) 15:24時点における版
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れないとは、オブジェクト指向の設計の難しさを表現したものである。
目次
概要
2001年に始まり今なお続く「石川梨華ってウンコするの?」という大論争をオブジェクト指向で設計するとどうなるのかという問題である。 下品な例だが納期が迫った時期に顧客の要望による大幅な仕様変更、それに耐えうる設計見積を作れるか、という非常に根の深い問題である。 ベストな答えはまだ得られていない。
主な見解
排便メソッドをオーバーライド
排便メソッドをオーバーライドし黄金やnullを返すようにするという意見である。
美少女には排便自体が存在してはならない、という意見があり根本的な解決には至っていない。
仕様が間違ってる
美少女でもウンコはするものであり、そもそも仕様が間違ってるという意見である。顧客との直取引であれば「フルスクラッチからの作り直しになる」と説明し、高額な見積を提示することで回避すればいいと言う。
だが、顧客の要求仕様は絶対であり、ましてや孫請けや曾孫受けのさらに派遣社員、いわゆるITドカタに拒否する権限などないという反論意見がある。彼らは黒いモノも白いと言わなければならない。
- 顧客「美少女はウンコしないよ」
- 元請「美少女はウンコしないらしいぞ」
- 下請「美少女はウンコしないことにします」
- 孫請「…」
- 派遣「」
これがデスマーチの始まりだ。
美少女クラスは天使クラスからの派生
美少女クラスは人間クラスではなく天使クラスからの派生であるという意見である。
だが、美少女も時間経過により人間クラスを基底とするババアになり排便を行うという反論意見がある。 そのような意見に付随し、あくまでも「見せかけ」だけ排便を消すのが得策ではないかと意見もある。
排便はメソッドではない
一般的に排便は他人から施されるものではない。 よって以下のような設計になるのではないかという意見である。
排泄イベント
前述の排便イベントでは「排便」が残るという問題を残している。 そこで排便イベントではなく、もっと抽象化した排泄イベントにし、そのイベント引数として排泄物オブジェクトを用意し、そこで「どこから」「なにを」を決めるという案である。
主な排泄物オブジェクトの「なにをプロパティ」
- 唾液
- 汗
- 尿
- 便
かなり正解に近いと思われる。
ただし理論上は正解に近くても、プログラミング言語の機能としてイベントやクロージャを持たないものでは、Observerパターンなどを駆使して無駄に壮大なソースコードを記述しなければならないという技術面およびメンテナンス性の問題を抱えている。
2chに立てたスレ
ひとりで考えても考えてもベストな答えが見つからないので2chにスレを立てまくってみた。 だが、今なお的確な答えは得られていない。
- オブジェクト指向は愚かな考え。 - プログラム板
- オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。 - ニュース速報板
- オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。 - ニュー速(嫌儲)板