0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【PHP初心者】if else文をなくすガード節

Last updated at Posted at 2020-11-02

ガード節とは

if else文の入れ子構造を解消する方法です。

if else文の入れ子構造

public function hoge($a, $b) {
    if ($a > 0) {
        $result = 'fuga';
    } else {
        if ($b > 0) {
            $result = 'piyo';
        } else {
            $result = 'piyopiyo';
        }
    }
    return $result;
}

ガード節で書き換えると以下のようになります。

public function hoge($a, $b) {
    if ($a > 0) {
        return 'fuga';
    }
    if ($b > 0) {
        return 'piyo';
    }
    return 'piyopiyo';
}

メリット

  • 一時変数を使わなくて済む。
  • ネストが減り、コードがシンプルになる。
  • 正常処理と異常処理の区別が分かりやすくなる。

ガード節を使う場面と使わない場面

使う場合

if else文のどちらか片方が良く起こる。

一方が正常処理でもう片方が異常処理を扱う場合によく使います。

使わない場合

if else文のどちらも同程度起こりうる。

両方とも正常処理の場合は、if elseを用います。

リファクタリングを行う際によく出てくる手法なので、試してみてください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?