Clauses条件分岐のネストからガード節へガード節による入れ子条件記述の置き換えどんなとき?正常な実行経路がはっきりしないような条件分岐を持つメソッドがある。すれば?すべての特殊条件をガード節で処理する。normal_pay_amountendどうして?条件式は、2つの形態があります。第1の形態は、どちらのコースを辿っても正常なふるまいの一部になる、というものです。第2の形態は、条件式に対する一方の答が正常条件のふるまいで、もう一方の答が異常条件のふるまいを示している、というものです。これら2種類の条件分岐は目的が異なります。両方の答が正常なふるまいなら、if/thenとelseに分岐する形を使います。片方の答が異常条件を示す場合には、条件をチェックし、その条件が真ならreturnするように書きます。この種のチェックは、「ガード節」と呼ばれます。if-then-else構文を使う場合、if/thenの分岐先とelseの分岐先には同等のウェイトを置いています。両方の分岐先が同じように実行され、重要だということを読者に伝えます。それに対し、ガード節は「これはまれなケースで、発生した場合には何かちょっとしたことを行って外に出る」ということを明確に表現することができます。やって?このリファクタリングのポイントは、片方を強調することです。ガード節を使い、メインフローをできる限り強調するようにします。このリファクタリングをよく使うのは、メソッドの出入口を1つに絞れと教え込まれたプログラマと一緒に働くときです。現代のプログラミング言語は、入口が1つになるよう強制しています。それに対し、出口を1つに絞るというのは意味のあるルールではありません。目的にすべきは、ルールを守ることではなく、コードの明確性です。出口を1つにするとメソッドの意味がはっきりするのなら、出口を1つにします。なければ、出口を1つに絞る意味はありません。Clause(ガード条件)@実装パターン」です。コメントを書くスパム対策のためのダミーです。