メソッドの命名が適切かどうかを自分で判定するたった一つの方法

プログラミングにおいて変数名やメソッド名の命名が重要であることは、昔から言われています。
では、自分でつけたメソッド名が良いか悪いかを判断するにはどうすればよいでしょうか?

ひとつには、他人にコードレビューしてもらうという方法があります。
他人にコードレビューしてもらうメリット
  • 客観的な視点で見てもらえる。
他人のコードレビューしてもらうデメリット
  • レビューするにもスキルがいる。
  • 他人が正しいとは限らない。
  • 「良い悪い」は結局は主観なので、意見が合わないとケンカになる。
ではレビューしてくれる人がいないときはどうすればよいでしょうか?

メソッドの命名が適切かどうかを自分で判定するたった一つの方法

私の好きな記事に、こういうのがあります。
ふとActiveRecordで使えるpreviousメソッドってどこからきてるんだろう?と思ってgemsをgrepしてみるも見当たらず。
よし、場所を探り当ててやる!

[中略]

自分で普通にmodelに定義してた。
因みに複数人開発で他人が実装したとかではなく、紛れも無く俺が実装したメソッドである。おまけにテストも書いてある。

何故このような自体が発生したのか。
メソッド名が自然過ぎたか。

メソッドの定義されている場所を探す - komagata

Ruby on Railsの中で"previous"メソッドがどこで定義されているのかを探してみたら、それはRailsにはなくて、自分が普通に子クラスで定義したメソッドだった、というオチ。


yugui コレクションがあってシャッフルしたいと思ったら、shuffleと書いて、それで動かなきゃいけないんですよ。

@IT なるほど!

まつもと あっはっは。シャッフルできるはずだと。できなければRubyのバグだと。

yugui 実際、shuffleが入ったのは割と最近ですよね。それはRubyが間違っていたから直したんですよ。

開発コアメンバが語るRubyの今とこれから(後編) - @IT

array.shuffleと書いて動かなかったから、Rubyそのものを直したという話。

もうおわかりでしょう、
言語やフレームワークに最初から組み込まれていてもおかしくないくらいに自然な名前であること
これが良いメソッド名のお手本ですね。
カテゴリ:

人気記事