1. Classes can be no longer than one hundred lines of code.
  2. Methods can be no longer than five lines of code.
  3. Pass no more than four parameters into a method. Hash options are parameters.
  4. Controllers can instantiate only one object. Therefore, views can only know about one instance variable and views should only send messages to that object (@object.collaborator.value is not allowed).

Sandi Metz’ Rules For Developers


  1. クラスは100行以内に収めること。
  2. メソッドは5行以内に収めること。
  3. メソッドに渡すパラメータは4つまでとする。ハッシュオプションもパラメータに含まれる。
  4. コントローラは1つのオブジェクトのみをインスタンス化することができる。そのため、ビューは1つのインスタンス変数のみを知ることができ、ビューはそのオブジェクトにのみメッセージを送信すること(@object.collaborator.valueのようなコードは禁止)。