Pocket

判断と処理を分けると、読みやすくなり、テストやデバッグをしやすくなります。

例は javascriptで書いています。

1. 初期バージョン

最初に書くバージョンはだいたいこんな感じです。
「もろもろの処理」は、複数行だったり、if文やfor文を含むことがあります。

2. if文の本体を1行にします。

if文の本体をメソッド化して1行にします。if文の本体を短くしたほうが、ifの流れが読みやすいです。そして、my_func_1からmy_func_4のテストケースを書けるようになります。

3. 「判断」をメソッド化します。

「判断」をテストするために、メソッド化します。my_func_1からmy_func_4の分岐は、単純なswitch文にします。変数aの値によって、4通りの処理があることが一目瞭然になりました。

4. 条件を整理して、if文のネストを浅くします

条件を整理して、デシジョンテーブルを作ります。デシジョンテーブルにしたがって、if文を実装します。コメントにデシジョンテーブルを書いておきます。

5. my_funcを別クラスにする

my_func関連のコードが長くなったら、別ファイルの別クラスにします