1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          java重構(java項目重構怎么弄_軟件重構的定義「建議收藏」)

          來源:互聯網轉載 時間:2024-01-23 14:25:29

          java項目重構怎么弄_軟件重構的定義「建議收藏」-JAVA重構如何進行測試

          java項目重構怎么弄_軟件重構的定義「建議收藏」重構是一個老生常談的話題。1、什么是重構重構是不改變項目現有的業務邏輯或者代碼邏輯,對程序進一步提煉或者擴展,使其在結構上更容易理解,代碼的規范性更強,耦合性更弱。非常重要的一點,重構與性能沒有必然的關系。2、為什么重構當看到一個函數上千行代碼,有沒有心累?當看到一個類巨大,改一行代碼結果整個程序就運行不起來了,要不要崩潰?更關鍵的是,調用了很長一串函數,每個函數干了誰都不知道的邏…_java項目改造方案計劃書

          重構是一個老生常談的話題。

          1、什么是重構

          重構是不改變項目現有的業務邏輯或者代碼邏輯,對程序進一步提煉或者擴展,使其在結構上更容易理解,代碼的規范性更強,耦合性更弱。非常重要的一點,重構與性能沒有必然的關系。

          2、為什么重構

          當看到一個函數上千行代碼,有沒有心累?當看到一個類巨大,改一行代碼結果整個程序就運行不起來了,要不要崩潰?更關鍵的是,調用了很長一串函數,每個函數干了誰都不知道的邏輯,還有一些甚至重復的函數功能, 想不想罵娘?奇葩的是,就是看這段代碼不順眼,看起的名字超出常識,有更顯逼格的設計模式應用,能不能重寫?

          諸如此類的原因,都是代碼重構的原因。當然,通常情況下有兩種場景不得不進行重構:1)業務發展到一定階段,原來的程序設計不能滿足業務需求,或者經過N多遍更改后,存在大量“不知所謂”的邏輯代碼;2)引入新的架構設計,進行業務拆分。

          3、怎么進行重構

          重構的前提是找到有壞味道的代碼,典型的壞味道代碼有:

          1)重復代碼,對于相同的邏輯需要抽公共的方法或者類;

          2)過長的函數(一般超過200行),需要積極的拆分子函數;

          3)過大的類,類越大,職責就越多,導致類產生的實例也會越多。同時,職責越多的類,其修改后影響也就越大。

          4)過長的參數列表,如果參數過多,或者變化太過頻繁,考慮用對象替換參數列表;

          5)發散式變化,如果類經常在不同的方向上發生變化,考慮將類拆分。

          6)散彈式修改,與發散式變化剛好相反,如果遇到某種變化要修改很多地方,可以考慮將變化的抽到同一個類中。

          7)依戀情結,就是如果某個函數功能需要調用另一個類中的大半變化,可以考慮將這個函數抽到變化的類中。

          8)數據泥團,數據項總是喜歡成群結隊的聚在一起,可以考慮對數據項抽象對象。

          9)平行繼承體系,就是為某個類增加一個子類的時候,也必須為另一個類增加子類,這時候可以考慮讓一個繼承體系引用另一個繼承體系。

          10)冗贅類

          11)夸夸其談的未來性,就是設計的時候過多考慮未來,導致現有的類設計復雜

          12)過度耦合的消息鏈。

          I. 小步前進,頻繁測試

          1)重新提煉函數,是最常見的重構手法;

          2)內聯函數或者臨時變量,就是收縮函數或者臨時變量。比如內聯臨時變量的時候,直接用返回函數的表達式代替臨時變量。

          3)用函數對象取代函數,就是將函數放到單獨的對象中,這樣局部變量就變成里對象字段,有助于拆分函數。

          4)替換算法,用另一個更清晰的算法替換到現有算法。

          II. 在對象之間搬移特性

          1)搬移函數,就是將現有函數的實現邏輯搬移到一個新的常引用的類中,在本類中建立一個委托函數,調用新類中的新函數。

          2)搬移字段,

          3)提煉類,建一個新類,將相關的字段和函數從舊類中搬移;

          4)移除中間人

          5)引入外加函數,就是在提供類中創建一個函數,但是并不改變提供類。

          6)以對象取代數據值,就是將數據項封裝為對象。

          7)將值引用替換為對象引用,或者將對象引用替換為值引用。

          8)條件表達式分解,即條件變為函數。

          9)用return表示條件結束,即使用衛語句,要么結束,要么拋出異常。

          10)引入Null對象,引入斷言

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          轉載柯邦鳳的文章如果一副耳機用了一段時間,你覺得很好,而且很多人用這個牌子,他們也覺得很好,那就真的挺好的。畢竟要滿足這么多人的需求不是一件簡單的事情,所以今天講的是魔音。1.魔力耳機品牌介紹也許你知道這家公司成立于1979年,那么你知道它屬于哪里嗎?那是美國的,這個也是mbth制造的。簡單來說就是monster,可以說解決了很多音頻方面的問題,而且他們也在不斷創新,所以我們經??梢钥吹胶芏喈a品。...

          什么是庫克曲線?美國學者庫克(Kuck)提出了另外一條曲線,從如何更好地發揮人的創造力的角度論證了員工流動的必要性,如下圖所示庫克曲線是根據研究生參加工作后創造力發揮情況所作的統計繪出曲線的。庫克曲線什么時候提出的?庫克曲線,也叫Kocker-Le Chatelier曲線,是工程師埃利·庫克提出的一種特殊的熱力學狀態圖。它描述了等溫外墻絕熱容積與物質物性之間的關系,在物質物性變化時,...

          新股定價高的原因是什么?1、過去新股發行長期形成的“新股不敗”現象,讓投資者對注冊制新股高價發行所帶來的破發風險認識不足,盡管注冊制新股發行出現了上市首日破發的現象,但投資者仍心存僥幸,認為自己中簽的新股不會破發,還是選擇踴躍打新,導致新股發行始終處于供不應求狀態,新股發行價也因此而走高。2、市值配售打新方式帶來的負面影響。取消了23倍市盈率限制后,市值配售不再是投資者的福...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>