From: Tadashi Saito Date: 2010-04-01T02:16:19+09:00 Subject: [ruby-dev:40891] Re: [Feature #3065] [TypedData] という名前について 斎藤です。ささださんの投稿を待たずに書いちゃって申し訳ないですが、 On Thu, 1 Apr 2010 01:09:55 +0900 Yusuke ENDOH wrote: > > つまり「自分でメモリ使用量を知っているRData」を作りたかったのに、 > > 名前から伝わる印象はそれと異なり、「型の把握が簡単なRData」になって > > しまっています。 > (snip) > 従来は dfree のポインタを比較するという dirty hack で型チェック > していたところが、rb_data_type_t の比較になったのは TypedData の > 重要な功績だと思います。 これは同意します。しかし、それを主眼に新しい構造体やAPIを作ったとは、自分は 思えなかったのです。つまり、良い副作用があるとは思いますが、その副作用自身を 名前にするべきではないと思います。あくまで名前は、作った目的に合わせて付けた 方が良いでしょう。 # ところで自分の拡張ライブラリでは、CLASS_OF(obj) == cMyClassで # 見ちゃっていますが、これだと何かまずい、んですよねぇ。理解が足りなくて # 申し訳ないです。 > また、rb_data_type_t は将来的に拡張できるようにもなっているため、 > RSizedData みたいな限定はしない方がいいと思います。 たしかに、reserved[3]がありますね。では、どのような拡張がなされる予定なの でしょうか? 拡張がされるならば、なおさらその予定を踏まえて名前をつけるべきです よね。拡張によって、「Typed」がより特徴付けられる方向であるとは、自分には 読めませんでした。 もし解析できる部分を増やすのが主眼ならば、TracedDataとか、MeasuredDataとか、 AnalyzedDataがいいかもしれません。(-edじゃなくて-ableがいいかもしれません) そういう事が主眼でなく、その他の野心的な目標があるなら、他の名前がいいでしょう。 抽象的に、SmartDataとか。ただ、そこまで抽象的な名前しか付けられないほど、目的が 不明瞭ではないはずだ、と期待しています。 -- 斎藤ただし