1

私は長い間、シングルリターン スタイル (構造化プログラミング スタイルとして) を使用してきました。私はファウラーの「リファクタリング」を読み始め、「制御フラグの削除」と「ネストされた条件をガード句で置き換える」を見つけました。その単一のリターンは避けるべきです。

私にとっては、単一のリターンを使用することには多くの利点がありますが、読むのが少し難しいだけです。では、複数のリターンを使用した場合の利益は何ですか?

利点:

  1. 単一のリターンにより、ブレークポイントを return ステートメントに簡単に配置できます
  2. 単一の戻り値がある場合、結果値に Assert を追加するのは簡単です
  3. 単一のリターンにより、コードが読みやすくなります
4

1 に答える 1

1

複数の return があっても、関数の終了点は 1 つです。閉じ中かっこです。それにブレークポイントを配置し、rAX をチェックする条件を設定するだけです (IA32e の場合)。

int f()
{
    if (condition)
        return 1;
    return 0;
} // Place here. Would break at epilog just before return. 
于 2012-08-23T09:00:36.077 に答える