Feature #3069
closed[TypedData] 関連APIの名前が不揃い
Description
=begin
斎藤と申します。
たぶんこれが最後です。¶
1.9.2で新設される、RTypedData関連の関数・マクロ群の名前が
不揃いで、ちょっと分かりにくいと感じていて、お願いに来ました。
まず、 struct RTypedData があるわけですが、Rubyの慣習でいけば、
小文字に直した時は typed_data になるか、アンダースコアがなくて
typeddataになるなどが期待されると思います。これはどちらにせよ、
統一されるべきでしょう。加えて、語順が変わることは自然でない
とも感じます。
ところが
rb_typeddata_is_kind_of()
では間にアンダースコアが入ってないと思いきや
RUBY_TYPED_DEFAULT_FREE
ではアンダースコアが(DATAが省略されて)入っています。また
rb_data_typed_object_alloc()
という、単語が前後入れ替わった関数があったりもします
もう少し統一していただけると、思いだしやすかったり、
類推しやすかったりすると思うのですが、いかがでしょうか。
とりあえず、typedが入っている三つの関数
rb_check_typeddata
rb_data_typed_object_alloc
rb_typeddata_is_kind_of
について考えたのですが、「RTypedDataに着目した関数である」ので
rb_typeddata_check
rb_typeddata_object_alloc
rb_typeddata_is_kind_of
というふうに揃えるのはいかがでしょうか。
無論、自分が推測できた以上に意味のある語順や名前であれば、
変更する必要はないと思います。
よろしくお願いします。
=end
Updated by ko1 (Koichi Sasada) about 15 years ago
=begin
ささだです.
(2010/04/01 1:54), Tadashi Saito wrote::
1.9.2で新設される、RTypedData関連の関数・マクロ群の名前が
不揃いで、ちょっと分かりにくいと感じていて、お願いに来ました。まず、 struct RTypedData があるわけですが、Rubyの慣習でいけば、
小文字に直した時は typed_data になるか、アンダースコアがなくて
typeddataになるなどが期待されると思います。これはどちらにせよ、
統一されるべきでしょう。加えて、語順が変わることは自然でない
とも感じます。ところが
rb_typeddata_is_kind_of()
では間にアンダースコアが入ってないと思いきや
RUBY_TYPED_DEFAULT_FREE
ではアンダースコアが(DATAが省略されて)入っています。また
rb_data_typed_object_alloc()
という、単語が前後入れ替わった関数があったりもしますもう少し統一していただけると、思いだしやすかったり、
類推しやすかったりすると思うのですが、いかがでしょうか。とりあえず、typedが入っている三つの関数
rb_check_typeddata
rb_data_typed_object_alloc
rb_typeddata_is_kind_ofについて考えたのですが、「RTypedDataに着目した関数である」ので
rb_typeddata_check
rb_typeddata_object_alloc
rb_typeddata_is_kind_ofというふうに揃えるのはいかがでしょうか。
もっと不揃いな API は沢山あるよなぁ,と思いつつ,そうですねぇ.そうし
ましょうかねぇ.実は,それぞれ何をするんだか覚えてないので,少し考えま
す.他にも意見があるといいなぁ,と思います.
--
// SASADA Koichi at atdot dot net
=end
Updated by nobu (Nobuyoshi Nakada) about 15 years ago
=begin
なかだです。
At Thu, 1 Apr 2010 01:54:40 +0900,
Tadashi Saito wrote in [ruby-dev:40890]:
とりあえず、typedが入っている三つの関数
rb_check_typeddata
rb_data_typed_object_alloc
rb_typeddata_is_kind_ofについて考えたのですが、「RTypedDataに着目した関数である」ので
rb_typeddata_check
rb_typeddata_object_alloc
rb_typeddata_is_kind_ofというふうに揃えるのはいかがでしょうか。
rb_check_typeddataはrb_check_typeやrb_check_safe_objとの類推では
ダメでしょうか。この関数はTypedDataかどうかを調べるためのものな
ので、引数がTypedDataとは限りませんし。
二つ目のrb_data_typed_object_allocについては異論はありません。
三つ目は同じですよね。
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦
=end
Updated by naruse (Yui NARUSE) about 15 years ago
- Status changed from Open to Assigned
- Assignee set to ko1 (Koichi Sasada)
=begin
=end
Updated by mame (Yusuke Endoh) about 15 years ago
- Status changed from Assigned to Rejected
=begin
遠藤です。
2010年4月1日17:50 Nobuyoshi Nakada nobu@ruby-lang.org:
At Thu, 1 Apr 2010 01:54:40 +0900,
Tadashi Saito wrote in [ruby-dev:40890]:とりあえず、typedが入っている三つの関数
rb_check_typeddata
rb_data_typed_object_alloc
rb_typeddata_is_kind_ofについて考えたのですが、「RTypedDataに着目した関数である」ので
rb_typeddata_check
rb_typeddata_object_alloc
rb_typeddata_is_kind_ofというふうに揃えるのはいかがでしょうか。
rb_check_typeddataはrb_check_typeやrb_check_safe_objとの類推では
ダメでしょうか。この関数はTypedDataかどうかを調べるためのものな
ので、引数がTypedDataとは限りませんし。二つ目のrb_data_typed_object_allocについては異論はありません。
三つ目は同じですよね。
4/1 から 1 週間しても何も進まなかったようなので、残念ですが
reject します。
Ruby の C API は、ドキュメント整備とともに、一度徹底的に整理
されるべきで、今回のような変な名前問題は互換レイヤが吸収する
ことにするのがいいと思います。2.0 に向けて。
作業する人がいなければ変わらないでしょうけど。
--
Yusuke ENDOH mame@tsg.ne.jp
=end