Railsアプリケーションを組んでいると変数の扱い方が分からなくなることがあります。
例えば次のような感じです。
- この変数のクラスは何だっけ?
- この変数の初期値は何だっけ?
- この変数を初期化するにはどうしたらいいんだっけ?
すべてのクラスを自分で作っていればなんとか思い出せますが、Railsのようにライブラリを使っているとどうしても「何だかよくわからない」という状態に陥りやすいと思います。
対策
こういった疑問を毎回調べていると開発効率が落ちるので、一度調べたらコメントで書いておいたりするのもいいと思います。
例えば、次のようなhas_many
コードがあったとして、このimages
のクラスはActiveRecord_Associations_CollectionProxy
クラスですけど、見た目じゃ全く分からないし、調べてもまた次の機会には忘れている可能性が高いです。
has_many :images
そんなときは次のような感じで、コメントでクラス名を書いてしまうのが、ベタだけどとてもいいと思います。
# Class Name: ActiveRecord_Associations_CollectionProxy has_many :images
なお、クラス名を調べるには#.class
を使います。
p hogehoge.images.class
Image::ActiveRecord_Associations_CollectionProxy
他には何を忘れそうか
開発をしていてよく忘れるなと気がついたことがあれば、こまめにコメントしておくと開発効率がいい気がします。
例えばつぎのような感じです。
初期値はなんだったかなといつも悩むなら、初期値を調べて書いておきます。
# Default Value: ActiveRecord::Associations::CollectionProxy [] has_many :images
初期化方法をいつも悩むなら、一度調べたら書いておきます。
# How to Initialize: #.delete_all has_many :images
あまり書きすぎるのもどうかと思いますが、開発の初期段階ではすごく有効だと思います。リリース前に消してもいいですしね。