- 40 名前:32 mailto:sage [2007/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の示すものと引数の意味合いが 異なってしまう為です。 これが悪い書き方とは言いませんが、値が同じだからといって、 意味合いの違うものを無闇に使いまわすのは、 そのコードの意図を汲み取り難くすると考えます。
|

|