Project

General

Profile

Feature #3069

[TypedData] 関連APIの名前が不揃い

Added by tad (Tadashi Saito) over 9 years ago. Updated about 7 years ago.

Status:
Rejected
Priority:
Normal
Target version:
-

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

History

#1

Updated by ko1 (Koichi Sasada) over 9 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

#2

Updated by nobu (Nobuyoshi Nakada) over 9 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

#3

Updated by naruse (Yui NARUSE) over 9 years ago

  • Status changed from Open to Assigned
  • Assignee set to ko1 (Koichi Sasada)

=begin

=end

#4

Updated by mame (Yusuke Endoh) over 9 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

Also available in: Atom PDF