前提
背景
事象(やりたいこと)
カリキュラムで書いてみたソースコードの可読性を向上したい
困ったこと
試したこと
ソースコードをレビューしてもらう
ある程度知識のある方によるセルフレビューは効果が高いとは思います。
ただ、自分は素人同然であるため、コードレビューを講師の方に依頼しました。
結果
↓レビュー前
// 関数定義(PHP部) function countNumberOfStrikes($tmpPlayerArray,$tmpRandArray){ $strikeCnt = 0; for ($i=0; $i < count($tmpPlayerArray); $i++) { if($tmpPlayerArray[$i] === $tmpRandArray[$i]){ $strikeCnt++; } } return $strikeCnt; } // 関数呼び出し(HTML部) <?php echo countNumberOfStrikes($ansNums,$userNums) ."ストライク";?> <?php if(countNumberOfStrikes($ansNums,$userNums) === count($ansNums)){ echo "<hr>"; echo countNumberOfStrikes($ansNums,$userNums) . "ストライク!アウト!"; } ?>
↓レビュー後
// 関数定義(PHP部) function countNumberOfStrikes($tmpPlayerArray,$tmpRandArray){ $strikeCnt = 0; for ($i=0; $i < count($tmpPlayerArray); $i++) { if($tmpPlayerArray[$i] === $tmpRandArray[$i]){ $strikeCnt++; } } return $strikeCnt; } $totalStrikes = countNumberOfStrikes($ansNums,$userNums); // 関数呼び出し(HTML部) <?= $totalStrikes ."ストライク";?> <?php if($totalStrikes === count($ansNums)){ ?> <?= "<hr>"; ?> <?= $totalStrikes . "ストライク!アウト!"; ?> <?php } ?>
↓修正点
- 関数の戻り値を変数$totalStrikesに代入し、関数呼び出し回数を減らした
- 出力時は関数を呼び出さずに$totalStrikesを使い出力することで、コード数を減らした
- 出力時に省略記法を使用
所感
関数を呼び出す回数が増えると、可読性が悪くなるだけでなく、処理速度もわずかながら遅くなると初めて知った。
今回は基礎学習用なので、短い関数だが実務に入った際はもっと長い関数、多くの関数をまたぎながら使うことになる。