章XVII珍しい制御構造

多くのサブルーチン復帰

プログラムすることが可能returnexit必要性のいずれかの時点での制御構造、終了サブルーチンのこのタイプ。

  • あなたが読みやすさを向上させることができた場合は、使用しreturn;
  • 防衛条項(早期復帰や早期終了)で、複雑なエラー処理を簡素化します。
  • 各サブルーチンは削減return数を。

再帰

問題のごく一部を解決するため、自分のための責任サブルーチン内の再帰的な、それはまた、多くの小片に問題を打破して、個別に各部分を解決するために自分自身を呼び出します。

再帰的手法

  • 再帰が停止することができます確認してください。
  • 無限再帰を防ぐために、安全なカウンタを使用します。
  • サブルーチンに限定再帰。
  • 慎重にスペースを積み重ねます。
  • 階乗やフィボナッチ列を計算する再帰を使用しないでください。

に行きます

野党の引数に行きます

使用に反対する人々gotoの一般的な理由は以下のとおりです。使用しないgoto高品質なコードであるコードを。

  • これは、含まれているgotoフォーマットを配置することが困難であるコードを、
  • 使用gotoの最適化機能は、コンパイラを破壊します。
  • 使用するgotoコードが小さく、より速く実行します。
  • 使用はgoto厳密にトップダウン操作でなければなりませんコードの原則に反するだろう。

ビューをサポートするために行きます

goto支持者は慎重に、通常、特定の状況で使用する必要性を強調goto関わらず無差別使用の、というよりも。

  • 適切な位置ならば、gotoコードの重複を減らすことができます。
  • goto内のリソースの解放後の資源の利用、資源の日常的配分に非常に有用。
  • いくつかのケースでは、gotoそれはコードを高速に実行させ、小さいです。
  • それは使用されない高レベルのプログラミングと等しくありませんgoto
  • 現代の多くの言語が含まれていますgoto

後藤使用の概要原則

  • 直接構造化された制御文をサポートしていない言語で、使用gotoこれらの制御構造をシミュレートします。
  • 言語は、制御構造相当を構築した場合は、使用しないでくださいgoto
  • コードは使用の効率を向上させることにある場合はgoto、実際のパフォーマンスの向上を測定するために移動してください。
  • あなたは、文の構造をシミュレートする、または単に各サブルーチンを使用しようとする場合を除きgotoグレード。
  • あなたは、文の構造をシミュレートする、または作るためにしようとする場合を除き、goto前方ジャンプではなく、後方ジャンプを。
  • すべてのことを確認してくださいgotoラベルがアップに使用されています。
  • 確認がgoto実行されたコードの一部を持っていません。
  • 特定のためにgoto展開論争の用途全体的な状況に影響を与えていません。

チェックリスト:珍しい制御構造

リターン

  • []各サブプログラムは、必要なときだけするために使用する必要がありreturnますか?
  • []を使用しreturnての読みやすさを向上させるために助けを?

再帰

  • []再帰サブルーチンはそれを再帰的に停止するためのコードが含まれていますか?
  • []サブルーチンのセキュリティカウンタは、サブルーチンがそれを止めることができることを保証するには?
  • []再帰はその中だけサブルーチンに位置していますか?
  • 【】サブプログラム再帰の深さは、それを満たすためにプログラムスタック能力の範囲内にありますか?
  • []再帰ルーチンは、それを達成するための最良の方法ですか?これは、単純な反復処理、それよりも良いですか?

後藤

  • []最後の手段としてのみ使用されていますかgotoあなたが使用している場合はgoto、単にかどうかの強化可読性と保守性のために、?
  • それは効率ファクタに使用される場合、[] gotoは、この測定は、効率を高めるために、それを説明するために作りますか?
  • []サブルーチンせいぜいgotoラベルまだ?
  • []すべてはgotoそれをジャンプしない後方、前方にジャンプする必要がありますか?
  • []すべてgotoのラベルには、それを使用していますか?

点数

  • 複数のreturnサブプログラムの可読性と保守性を向上させることができ、かつ深いネストされたロジックの発生を回避します。
  • 再帰は非常にエレガントに、問題のほんの一部を解決することができます。その使用は注意が必要です。
  • いくつかのケースでは、gotoそれが読みやすく、保守し、コードを記述するための最良の方法です。しかし、これは非常にまれです。絶対に必要な場合を除き、使用しないでくださいgoto

おすすめ

転載: www.cnblogs.com/liam-ji/p/11542400.html