<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 章節九 簡化條件表達式 條件邏輯(conditional logic)有可能十分復雜,因此本章提供一些重構手法,專門用來簡化它們。其中一項核心重構就是 Decompose Conditional ,可將一個復雜的條件邏輯分成若干小塊。這項重構很重要,因為它使得「轉轍邏輯」(switching logic )和「操作細節」(details)分離。 本章的其余重構手法可用以處理另一些重要問題:如果你發現代碼中的多處測試有相同結果,應該實施Consolidate Conditional Expression;如果條件代碼中有任何重復,可以運用Consolidate Duplicate Conditional Fragments 將重復成分去掉。 如果程序開發者堅持「單一出口(one exit point )」原則,那么為讓條件式也遵循這 一原則,他往往會在其中加入控制標記(control flags )。我并不特別在意「一個函數一個出口」原則,所以我使用 Replace Nested Conditional with Guard Clauses 標示出那些特殊情況,并使用Remove Control Flag 去除那些討厭的控制標記。 較之于過程化(procedural )程序而言,面向對象(object oriented)程序的條件式通常比較少,這是因為很多條件行為都被多態機制(polymorphism)處理掉了。多態之所以更好,是因為調用者無需了解條件行為的細節,因此條件的擴展更為容易。所以面向對象程序中很少出現switch 語句;一旦出現,就應該考慮運用Replace Conditional with Polymorphism 將它替換為多態。 多態還有一種十分有用但鮮為人知的用途:通過 Introduce Null Object 去除對于null value 的檢驗。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看