斎藤です。

もうこういう変更をする時期ではないのかな…とも思いつつ、
BigDecimalのメソッドに改名の提案がいくつかあります。
(ちょっと遅すぎでは、ということでしたらバッサリ言って下さい)


・BigDecimal#sign

しつこくってすみません。
数字について「符号」といえば、正と負の二つ以外ないと思うので、
「符号は無限大」などとなるのには違和感があります。
また小林さんご自身が書かれたHTMLマニュアルでも、符号でなく
「属性」や「attribute」といった単語を使われているようです。

ということで、「attribute」か何かに変更した方が良いのでは
ないでしょうか。

・BigDecimal#to_parts

「to_foo」というメソッドは、Fooクラスのインスタンスへの変換
というのがほぼ、Rubyの慣例である気がします。

「to_parts」よりも、「split」なんてどうでしょうか。
String#split 以外にも File#split や URI#split が既にあり、特に
あとの二つは、BigDecimal#to_partsでの「部品に分ける」という
動作とほぼ同じことをしていると思います。

・BigDecimal#assign

ライブラリ添付のマニュアルから抜粋すると、このメソッドは、

 c = a.assign(n, f)
 f > 0 なら a を c にそのまま代入
 f < 0 なら -a を c に代入
 f の絶対値は 1 か 2 でなければならない
 |f|=2 のときは、c の最大精度が a の実精度より
  小さいときには丸められる
 |f|=1 のときは切り捨てられる
 (ここでの n は c の有効桁数)

というものだそうです。

ここで、c へ「代入」しているのは「=」であり、このメソッドの
実際の仕事は符号を変えたり丸めたり…という部分なので、
「assign」という名前はちょっと的外れな気がするのですが、
どうでしょうか。またこの名前は[ruby-dev:16565]のように、
mutableであるかのような印象も与えると思います。

ただ自分は、このメソッドの使い道が分からず最初は削除を
提案しようと思っていたくらいなので、別の名前が思い浮かびません。
実際このメソッドは、どういう時に便利なのでしょうか。
(どちらかというと、ライブラリ内部で必要な関数も公開して
メソッドにした、という印象を受けるのですが…。)

・BigDecimal::E
・BigDecimal::PI

大文字のメソッドになっていますが、数学の概念では定数でも
BigDecimalでは常に同じ数値を返さないので、e(π)という
定数を返す、というよりe(π)を計算するメソッドくらいに考えて、
小文字の名前にした方がいいのではないでしょうか。


以上の五点です。

個人の感覚というものに左右される部分だと思うので、
何か思うところのある方はぜひご意見をお願いします。

---
斎藤ただし