07/04/21 05:52:50
例えば、こう書いた場合
if (IsFileExist(path) == ture) {
このブロックはファイルが存在した時の処理
} else {
このブロックはファイルが存在しない時の処理
}
と、ソースコードからブロックの前提条件を明示でき、
IsFileExist()の結果により処理が変わる事を強調できます。
また、同じ関数の呼び出しパスででありながらブロックを
分けている事から、「同じ関数を呼んでいるが、行う処理は
IsFileExist()によって違うものになるよ。将来、処理の内容が
変わるかもよ。」と示唆することが出来ます。
これは社内で取り決めなどが無くても、ある程度経験のある人なら
読み取れる事だと私は考えております。
また、以下のように書かない理由は、
b = IsFileExist(path);
a.set1(b);
a.set2(b);
bはファイルの有無を意味しているが、
set1(),set2()の引数は"ファイルの有無を指定する"という
仕様ではない場合に、bの示すものと引数の意味合いが
異なってしまう為です。
これが悪い書き方とは言いませんが、値が同じだからといって、
意味合いの違うものを無闇に使いまわすのは、
そのコードの意図を汲み取り難くすると考えます。