<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 功能強大 支持多語言、二開方便! 廣告
                # 章節六 重新組織你的函數 我的重構手法中,很大一部分是對函數進行整理,使之更恰當地包裝代碼。幾乎所有時刻,問題都源于Long Method(過長函數)。這很討厭,因為它們往往包含太多信息,這些信息又被函數錯綜復雜的邏輯掩蓋,不易鑒別。對付過長函數,一項重要的重構手法就是Extract Method,它把一段代碼從原先函數中提取出 來,放進一個單獨函數中。Inline Method 正好相反:將一個函數調用動作替 換為該函數本體。如果在進行多次提煉之后,意識到提煉所得的某些函數并沒有做任何實質事情,或如果需要回溯恢復原先函數,我就需要Inline Method。 Extract Method 最大的困難就是處理局部變量,而臨時變量則是其中一個主要的困難源頭。處理一個函數時,我喜歡運用Replace Temp with Query 去掉所有可去掉的臨時變量。如果很多地方使用了某個臨時變量,我就會先運用Split Temporary Variable 將它變得比較容易替換。 但有時候臨時變量實在太混亂,難以替換。這時候我就需要使用Replace Method with Method Object。它讓我可以分解哪怕最混亂的函數,代價則是引入一 個新class。 參數帶來的問題比臨時變量稍微少一些,前提是你不在函數內賦值給它們。如果你已經這樣做了,就得使用Remove Assignments to Parameters。 函數分解完畢后,我就可以知道如何讓它工作得更好。也許我還會發現算法可以改進,從而使代碼更清晰。這時我就使用Substitute Algorithm 引入更清晰的算法。
                  <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>

                              哎呀哎呀视频在线观看