第2部 ループとロジックの単純化 ~巨大な条件式の分割~

説明変数や要約変数を使って読みやすくする

どちらも変数を指すが、自分なりに以下の理解をした。
 - 説明変数: メソッドの結果を入れる。
 - 要約変数: 条件式の結果を入れる。

例)

//説明変数
var drive_name = file_path.split('/')[0];
if (drive_name == 'C')
...

//要約変数
var is_c_drive = (drive_name == 'C');
if (is_c_drive)
...

「説明変数」は条件式で判定するのに使われ、「要約変数」は条件式の判定結果を変数名にして使う、みたいな感じだ。

「説明変数」は普段使うけど「要約変数」は余り馴染みがない。確かに「要約変数」にすれば条件式を読まずとも何を判定するかはわかるし、条件式のコードが短くなる。1行で済むものを2行にしているが読みやすさが圧倒的に違う。リーダブルコードの良さを表す内容だった。

簡潔な条件式を探す

これは今までと毛色が違う内容だった。「条件式が複雑になってしまったら、もっと簡潔になるよう見直すべき」とのこと。これに対する手法は、条件の作り方を逆の方法から考えてみたり、同じ名前のものを統一化してみたり、といった内容だ。これには明確なテクニックはない。意識の問題だ。

自分の経験からも、見直しが甘かった時はバグが発生したり処理速度が満足いくものでなかったり拡張性が低いコードになっていた。見直しは一番基本的なことで一番重要なことだと、改めて実感した。

この記事が気に入ったらサポートをしてみませんか?