章XIX一般的な制御問題

ブール式

  • 使用tureしてfalseブール判断を行います。
    • 暗黙的にブール値を比較trueしてfalse
  • 複雑な式を簡素化。
    • 複雑な決意を分割し、新しいブール変数を導入します。
    • 複雑な式ブール関数を作成するには、
    • 代わりに、意思決定と複雑な条件の。
  • ブール式の正の文字を書きます。
    • if文、否定形から変換決意条件が肯定形、および交換であるifelse節のコードと
    • ドモルガンの定理は、ブール否定決意を簡素化して、
  • 明確にするために括弧付きブール式。
    • 単純なカウントで技術は、対称ブラケットを以後。
  • ブール式が評価方法を理解します。
  • 数値表現シャフトを書かれた順に番号。
  • 0の基本理念と比較してください。
    • 暗黙的な論理変数を比較。
    • 数を比較すると0;
    • 比較明示的にCとヌル終端文字( `\ 0 ')では、
    • ポインタとNULL比較相;
  • ブール式は、よくある質問しました。
  • 言語のCファミリーにおいて、一定の比較の左端に配置されるべきです。
  • C ++では、マクロを置換すると考えることができる事前に作成&&、||、および==。

複合文(ステートメントブロック)

複合文は、文の集合を指し、グループは単一の文文はプログラムの流れを制御するために考えられています。声明に沿ったガイドラインを使用します。

  • 一緒に括弧を書き込むには、
  • 条件を明確にするために、括弧を使用します。

空文

それだけで、セミコロン文を含む空の文です。

  • 慎重に空のステートメントを使用します。
  • 空の文作成DoNothing()の前処理マクロやインライン関数を、
  • null以外のループに切り替えることを考慮すれば、コードをより明確になります。

危険な深いネストを飼いならします

深くネストされたソフトウェアのチーフ・テクノロジー・ミッション - 管理の複雑さは - 逆です。

  • 繰り返しの部分を検出することによって、ネストされた条件を簡素化するためにif文を、
  • breakネスティングを簡略化するブロックif
  • ネストされたifのセットにif elseステートメント。
  • 巣はifに変換され、case文;
  • 別のプログラムに抽出深くネストされたコード。
  • より多くのオブジェクト指向のアプローチを使用します。
  • 深くネストされたコードを再設計します。

プログラミングの基礎:構造化プログラミング

プログラムと構造化プログラミングの核となるアイデアは、いくつかのSISO制御構造を使用する必要があります。

構造化プログラミングの三つの要素

  • 注文;
  • 選択;
  • イテレーション。

制御構造と複雑

アプリケーションを理解するために、あなたが同時にインテリジェンスエンティティの数ことを覚えておく必要があり、対策のプログラムの複雑さ。

複雑さの低減の一般原則

いくつかの精神的な接続を行うことによって、ゲームの独自の脳レベルを向上させるためには、アプリケーションの複雑さを軽減。

  • の複雑さを測定する方法
    • ルーチンの計算の数によって決定ポイントの複雑さを測定します。

チェックリスト:制御構造に関する問題

  • []式が使用されるtruefalse、代わりに0と1の?
  • []ブール値trueとは、falseあなたのためだけでなく、暗黙的を比較しますか?
  • []値の比較はあなたのためにうまく表示することですか?
  • []があり、新しいブール変数、ブール関数やデシジョンテーブルを追加することによって、表現を簡素化するには?
  • []ブール式はそれの肯定形で表現ですか?
  • []大カッコはそれをペアリング?
  • []あなたはブラケットを使用している場所を明確にするために括弧を使用する必要がありますか?
  • []判決はそれを書くための軸数の順序に従っていますか?
  • 適切な場合は[]、Javaはで判断されるa.quals(b)方法、およびなしでa==b道のですか?
  • []表現ヌル文は明らかでしたか?
  • []再判定条件部によるに変換されif else、またはcase改善されたネストされた文を単純化する複数のオブジェクト指向設計または他の方法に切り替え、文、個々にネストされたサブルーチンコード抽出?
  • []サブルーチン10以上の決定点ならば、正当化はそれを再設計することはできませんか?

点数

  • 読みやすいシンプルなブール式は、コードの質を向上させるために非常に参考になります。
  • 深いネストされたサブルーチンを理解することは困難になってください。
  • 構造化プログラミングはシンプルなアイデアで、まだ適用されます:あなたは、3つのサイクルのシーケンス、選択と組み合わせて任意のプログラムを開発することができます。
  • 複雑さは、高品質のコードを書くことはとても重要な最低レベルにまで低減されます。

おすすめ

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