>>350
1.良くある手だが、ポリモーフィズムを使って条件により生成するオブジェクトを変えてやる。

例えば

if (条件1) {
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 if (条件2) {
   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 }
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

} else {

 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 if (条件2) {
   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
   ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 }
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
}

とかってコードを、

if (条件) {
  ・・・・・・・・・・・・・・・・・・・・・・・・・・・
} else {
  ・・・・・・・・・・・・・・・・・・・・・・・・・・・
}

に縮めることが出来たらどうよ?
ポリモーフィズムを巧く使えばこういうコーディングが可能になる。