<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### Replace Magic Number with Symbolic Constant(以符號常量/字面常量取代魔法數) 你有一個字面數值(literal number ),帶有特別含義。 創造一個常量,根據其意義為它命名,并將上述的字面數值替換為這個常量。 ~~~ double potentialEnergy(double mass, double height) { return mass * 9.81 * height; } ~~~ => ~~~ double potentialEnergy(double mass, double height) { return mass * GRAVITATIONAL_CONSTANT * height; } static final double GRAVITATIONAL_CONSTANT = 9.81; ~~~ **動機(Motivation)** 在計算科學中,魔法數(magic number)是歷史最悠久的不良現象之一。所謂魔法數是指擁有特殊意義,卻又不能明確表現出這種意義的數字。如果你需要在不同的地點引用同一個邏輯數,魔法數會讓你煩惱不已,因為一旦這些數發生改變,你就必須在程序中找到所有魔法數,并將它們全部修改一遍,這簡直就是一場噩夢。就 算你不需要修改,要準確指出每個魔法數的用途,也會讓你頗費腦筋。 許多語言都允許你聲明常量。常量不會造成任何性能開銷,卻可以大大提高代碼的可讀性。 進行本項重構之前,你應該先尋找其他替換方案。你應該觀察魔法數如何被使用,而后往往你會發現一種更好的使用方式。如果這個魔法數是個type code(型別碼), 請考慮使用Replace Type Code with Class;如果這個魔法數代表一個數組的長度,請在遍歷該數組的時候,改用Array.length()。 **作法(Mechanics)** - 聲明一個常量,令其值為原本的魔法數值。 - 找出這個魔法數的所有引用點。 - 檢查是否可以使用這個新聲明的常量來替換該魔法數。如果可以,便以此一常量替換之。 - 編譯。 - 所有魔法數都被替換完畢后,編譯并測試。此時整個程序應該運轉如常,就像沒有做任何修改一樣。 - 有個不錯的測試辦法:檢查現在的程序是否可以被你輕松地修改常量值(這可能意味某些預期結果將有所改變,以配合這一新值。實際工作中并非總是可以進行這樣的測試)。如果可行,這就是一個不錯的手法。
                  <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>

                              哎呀哎呀视频在线观看