Entry

設計時の判断基準に変な格言を持ち出す人

2011年09月10日

少し前に某所でなんだかなぁな話が出ていたのでメモ。具体的には,C++ のデストラクタを仮想にすべきかといった話で,こんなこと言ってた。

YAGNI に従えば,不要なものは作らないのだから,仮想にする必要はない。

YAGNI とゆのはYou ain't gonna need it の略で,ま,引用の通り「必要になってから作れ」ということ。引用も,一般論としてはそうなんだけれども,この話に当てはまるのだろうか。ちょっと考えれば,論理的におかしな展開だということが分かろうもんなんだけれども。

そもそも,デストラクタをすべて仮想にするかといった話で,すべて仮想にすべきと主張している人は,その必要性があると考えているから主張していたりする。反対に,必ずしもすべてを仮想にすべきでないと考えている人は,その必要がないと考えているからそう主張しているわけです。結局,話の焦点はまさに YAGNI の主語にあるわけで,つまり「デストラクタをすべて仮想にする必要の有無」にあることになる。

そうすると,YAGNI (不要なものは作らない == 必要になってから作る)の命題は,この議論においてどちらの主張にも当てはまってしまう。つまり,すべて仮想にすべきか問題について,積極の人は「必要だから作る」と言うし,消極の人は「不要だから作らない」と言うことになる。どちらも,YAGNI に従った結果として,そゆ主張が出てくることになる。

つことはですね,結局この人は,必要性の有無について「不要だから不要」といった妙なトートロジーを展開しただけで,何も主張していないし,何を理由付けてもいないことになる。

なんというか,それなりに紛糾している議論の場で,なんとかの一つ覚えみたいにそれっぽい格言を持ち出すのはやめたらどうかと思う。思考停止も甚だしいし,何より頭悪く見える。芸もユーモアもない。見ていて,なんでこっちがいたたまれない思いをしなくちゃいけないんだ,とも思う。なんだかなぁ。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN