Rubyのコードを書く際のルール

引き続きコード改善系の記事

http://robots.thoughtbot.com/post/50655960596/sandi-metz-rules-for-developers

  • クラスは100行まで
  • メソッドの中身は5行以内
  • メソッドのパラメータは4つまで
  • コントローラがインスタンス化するオブジェクトは1つだけ

4つ目のルールは、ウェブのダッシュボードページのようにいろんな要素が組み合わさる画面を出力する場合に従いづらいが、そういうときはファサードとなるクラスを間に入れて、その中で必要なオブジェクトを作ったりしてるらしい。

1つ前の記事におけるビューオブジェクトとかになるんですかね。

要するに、クラスは小さく、メソッドも小さく、個々のクラス、メソッドの役割を明確にってことですかね。 それはそれで「クラスの数多すぎ問題」とか言い出す人が出てきそうな気もするけど。