http://www.slideshare.net/MoriharuOhzu/ss-14083300

Jeff Beyのクラス設計を綺麗にするトレーニング。
いいコードを書くイメージを付けるトレーニングなので、
実際の業務ではもっと緩くていいけど、
ここでも関数のサイズを厳しく制限する練習をさせられる。

ルール1:インデント1段階
1つのメソッドにつきインデントは1段階までにすること
ルール2:else句禁止
else句を使用しないこと
ルール3:プリミティブ禁止
すべてのプリミティブ型と文字列型をラップすること
ルール4:ドット1つ
1行につきドットは1つまでにすること
ルール5:名前省略禁止
名前を省略しないこと
ルール6:小エンティティ
すべてのエンティティを小さくすること
ルール7:インスタンス変数2つ
1つのクラスにつきインスタンス変数は2つまでにすること
ルール8:ファーストクラスコレクション
ファーストクラスコレクションを使用すること
ルール9:プロパティ禁止
Getter/Setter/プロパティを使用しないこと

クラスの単純化を突き詰めると今度はオブジェクト間の連携が難しくなってくるので、
そのあとはデザインパターンを学ぶといい。