PHP

【PHPで解説】ガード節を理解して初心者を脱却!!

はじめに

エンジニア転職を目指している方、「ガード節」を知っておくと転職の面接で有利になるかもしれません。

1. 結論

ガード節を使っていないコード(悪いコード)
ガード節を使っているコード(良いコード)

悪いコード

PHP
//10以上90以下の数字で2の倍数だけ出力
for ($i = 1; $i <= 100; $i++) {
    if (10 <= $i) {
        if ($i <= 90) {
            if ($i % 2 == 0) {
                echo $i;
            }
        }
    }
}

良いコード

PHP
//10以上90以下の数字で2の倍数だけ出力
for ($i = 1; $i <= 100; $i++) {
    if ($i < 10) continue;
    if (90 < $i) continue;
    if ($i % 2 !== 0) continue;
    echo $i;
}

あけお

上の2つのコードは同じ出力結果になります。

2. 図でイメージをつかもう

悪いコードのイメージ図

良いコードのイメージ図

3. ガード節とは?

  • 読み方は「がーどせつ」
  • 処理の対象外となる条件を早めに提示して処理を抜ける
  • ネストを減らせてコードがすっきりする
あけお

「ここからは通しません!」というガードマン的なニュアンスです。
だからガード節って呼ぶんですね。

4. コードの解説

先ほどのコードを見ていきましょう!

悪いコード

PHP
//10以上90以下の数字で2の倍数だけ出力
for ($i = 1; $i <= 100; $i++) {
    if (10 <= $i) {
        if ($i <= 90) {
            if ($i % 2 == 0) {
                echo $i;
            }
        }
    }
}

3行目
$iが10以上で

4行目
$iが90以下で

5行目
$iが2で割り切れるとき(2の倍数のとき)

6行目
$iを出力する

という意味になりますね。

ネスト構造になってるので読みにくいです。

ネスト構造とは?

if文の中にさらにif文があって、、みたいな構造のこと!

マトリョーシカ的な感じのこと!!

はっきり言って、ネスト構造のコードを見るとめっちゃ萎えます笑

あけお

初学者の方はこういうコードを書きがちですよね、、、。

良いコード

PHP
//10以上90以下の数字で2の倍数だけ出力
for ($i = 1; $i <= 100; $i++) {
    if ($i < 10) continue;
    if (90 < $i) continue;
    if ($i % 2 !== 0) continue;
    echo $i;
}

3行目
$iが10未満なら次のループへ

4行目
$iが90より大きいなら次のループへ

5行目
$iが2で割り切れないとき(2の倍数ではないとき)は次のループへ

6行目
次のループへいかなかった$iをここで出力する

まとめ

ガード節を知る = 「現場で通用するエンジニア」への第一歩!!

「ガード節」は現場だと当たり前のように出てきます。
ライバルに差をつけるためにもしっかり覚えておきましょう!!

また、コードをきれいに書くために、おすすめの本を紹介しておきます。


正直、初学者でこれ読んでないのは「本当にエンジニアになる気ある?」って思われます。

ちなみに僕はこれで勉強してから先輩に「コードが綺麗になったね!」と褒められました。

また、どうしても1人で学習が難しい方はこんなスクールがおすすめです!

あけお

あなたの挑戦を応援しています!!