メソッドの命名が適切かどうかを自分で判定するたった一つの方法
メソッドの命名が適切かどうかを自分で判定するたった一つの方法
私の好きな記事に、こういうのがあります。ふとActiveRecordで使えるpreviousメソッドってどこからきてるんだろう?と思ってgemsをgrepしてみるも見当たらず。
よし、場所を探り当ててやる!
[中略]
自分で普通にmodelに定義してた。
因みに複数人開発で他人が実装したとかではなく、紛れも無く俺が実装したメソッドである。おまけにテストも書いてある。
何故このような自体が発生したのか。
メソッド名が自然過ぎたか。
メソッドの定義されている場所を探す - komagata
Ruby on Railsの中で"previous"メソッドがどこで定義されているのかを探してみたら、それはRailsにはなくて、自分が普通に子クラスで定義したメソッドだった、というオチ。
yugui コレクションがあってシャッフルしたいと思ったら、shuffleと書いて、それで動かなきゃいけないんですよ。
@IT なるほど!
まつもと あっはっは。シャッフルできるはずだと。できなければRubyのバグだと。
yugui 実際、shuffleが入ったのは割と最近ですよね。それはRubyが間違っていたから直したんですよ。
開発コアメンバが語るRubyの今とこれから(後編) - @IT
array.shuffleと書いて動かなかったから、Rubyそのものを直したという話。
もうおわかりでしょう、
言語やフレームワークに最初から組み込まれていてもおかしくないくらいに自然な名前であること
これが良いメソッド名のお手本ですね。
カテゴリ: