8章「巨大な式を分割する。」
をまとめていきます。
説明変数を使う。
人間は、1度に3〜4のものしか考えられない。
それを踏まえて、IF文を書く際の条件を見直す必要がある。
例えば、ログインユーザを判定する処理を下記の様に書いたとする。
if requestStr.split(“:”).trim() = “kanekochi” then hoge
ぱっと見では、最初の部分の結果として何が返ってくるのかわからない。
これを下記の様に書き直す。
userName = requestStr.split(“:”).trim()
if userName.equals(“kanekochi”) then hoge
こうすることで、何を取得していて、
どうなれば良いのかが分かりやすくなる。
つまり、IF文の条件に考える必要があるものを加えてしまうと、
読み手には理解が難しくなってしまうということ。
説明変数は、IF文を短くするテクニックの1つ。
要約変数を使う。
要約変数は、IF文で判定するはずだった条件を
Bollean型の変数の中に入れて、IF文で評価する方法。
変数の名称をわかりやすいものにする必要がある。
先ほどのIF文で説明すると下記になる。
isUserNameKanekochi = requestStr.split(“:”).trim().equals(“kanekochi”)
if isUserNameKanekochi then hoge
要約変数はNOTの説明にも使いやすいので、
結構有用だと思う。
式を短くする考え方
式を短くするテクニックは沢山ある。
著書内では、ド・モルガンの法則とか有用だよと書いてある。(何それって感じだった笑
プログラミングを行う上で、思いついた条件は数ある1つにしか過ぎないという
考え方が必要である。
思いついた式と逆の条件を考えるというのも1つのテクニックだし、
複雑な条件になればなるほど、簡単な表現に工夫することができるという考え方が重要だと思う。
まとめ
複雑な式を分割する。
条件を要約して、1つにまとめる。
などなど、結局の所、
読み手に対して、どれだけ親切なコードが書けるかが重要になる。
何か、どの章でも同じこと書いてる気もするが笑