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

目次

はじめに

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

結論

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

悪いコード

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つのコードは同じ出力結果になります。

あけお

同じ出力結果になるのにコードのスッキリさが違うね!

図でイメージをつかもう

悪いコードのイメージ図

良いコードのイメージ図

ガード節とは?

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

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

コードの解説

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

悪いコード

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人で学習が難しい方はこんなスクールがおすすめです!

あけお

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

よかったらシェアしてね!
目次