1. ホーム
  2. language-agnostic

[解決済み] 関数は return 文を1つだけ持つべきですか?

2022-03-21 07:36:10

質問

関数のreturn文は1つだけにしておいた方がよいという理由はありますか?

それとも、論理的に正しいと判断した時点で関数から復帰してもよいのでしょうか。つまり、関数内に多くのreturn文があってもよいということです。

どのように解決するのですか?

私はよく、メソッドの最初にいくつかのステートメントを用意して、"easy"な状況を返すようにします。例えば、こんな感じ。

public void DoStuff(Foo foo)
{
    if (foo != null)
    {
        ...
    }
}

...は、このように、より読みやすくすることができます(IMHO)。

public void DoStuff(Foo foo)
{
    if (foo == null) return;

    ...
}

そうですね、1つの関数/メソッドから複数の"exit point"を持つことは問題ないと思います。