重構的好處:
重構能夠改進軟體設計,隨著專案需求的變更,專案體積的變大早已與最初的設計大相徑庭,**結構變得凌亂、複雜,如果不進行重構,則很難新增新的功能。
1、使專案**更容易理解
很多情況下是由於專案趕進度和不注重質量導致的。那麼通過重構可以幫助**維持自己該有的形態。
專案開始的時候,設計並沒有考慮到方方面面,因為你不可能**到後面的所有需求。同時你也不能把每個功能都做預留,做成靈活可變,如果最後你**失敗,那麼意味著你所做的靈活性是多餘的,浪費了時間且增加了開發難度。這種情況叫做過度設計。
為了避免這樣的情況,專案之初只做必要的設計。隨著專案的變更,軟體結構需要重新調整。通過重構可以改良最初的設計,使得專案符合最新的需求。
經驗告訴我們,當下只管建造可執行的最簡化的系統,至於靈活而複雜的設計,多數時候你都不會需要它。
2、幫助你找到bug
重構需要你深入**結構,這樣使得你搞清楚程式結構的同時,找出隱含的bug。
3、重構提高編碼速度
重構後的**,**結構被改良,良好的設計能夠加快開發速度。
重構與效能優化:
重構是為了讓**易於理解,你常會做出一些使程式執行變慢的修改。
重構的過程中,不要同時最求優化效能。特別當重構**優化與效能優化兩者出現衝突的時候
通常情況下重構會使**優雅,效能優化為了提高效能不得不採用一些技巧來實現從而有可能使得**變得複雜
而且,有時效能好壞不是單憑感覺出來,多了幾個for迴圈帶來的效能下降通常沒有你想象中那麼大,一定要量化,能測出資料來證明是否由此導致的效能下降。
此時要注意我們的目的是重構,重構的手法可能會使得軟體效能有所下降,也應該往下執行。
效能優化屬於另外乙個關注點,等重構完成後,專案設計良好,此時再去做效能優化也更容易。
若僅憑感覺來決定說為了提高效能而放棄重構**,這是乙個錯誤的想法。
正確的做法是:
首先寫出可執行的軟體,然後調整它以求獲得更快的速度。
如果當你在開發的過程中時刻追求軟體的效能,首先會導致開發難度增加、開發時間變長。同時大多數情況下來分析,你會發現你花費的大部分時間都是在調整一些小部分的**上以追求效能的增加,實際上這小部分**最終被執行的概率沒有你想象中的那麼頻繁。這意味著你大部分時間做的是無用功。
你所做的效能優化是你臆想出來的。
只有當你做出可執行的專案,並且對整個專案結構了解清楚之後,知道效能瓶頸在哪,有針對性的進行優化,通常會有意想不到的收穫。
何時重構:
重構可以隨時進行,不一定要專門騰出時間來進行重構。(當然,你也可以這麼做,前提是團隊的意見是一致,並徵得老闆同意,說服老闆重構能夠改良設計不僅**質量提高同時加快開發速度。)
但注意一定要將重構和新增功能的兩種狀態進行劃分,在重構的時候不要新增功能。否則你不知道bug是重構時導致還是新增功能時導致,增加重構的難度。
這兩種狀態可以來回切換,但不能重疊。
何時不該重構:
專案已近最後期限,因為已經沒有足夠的時間重構
專案重構 效能優化
重構的目標 1.持續偏糾和改進軟體設計 2.提公升專案整體效能,優化 結構 3.使 更被其他人所理解 4.幫助發現隱藏的 缺陷 5.從長遠來看,有助於提高程式設計效率,增加專案進度 重構函式 1.減少臨時變數。例如 if are 1000 改為 if self.are 1000 2.重構類 1.搬移...
漫談專案質量保障 協作流程優化
在本文之前,筆者曾分享過一篇關於質量保障流程的文章 漫談專案質量保障 協作流程 文章簡述了筆者參與的專案協作流程,同時對流程中一些不同尋常的協作節點進行闡述。由於多種原因限制,之前分享的流程存在一定的不完整性,所以本文將繼續分享 漫談專案質量保障 協作流程 優化後的版本。初版的協作流程如圖1 1所示...
react專案 效能優化 首頁優化 載入優化
react路由懶載入 非同步元件 react loadable 以路由元件分割 或者參考 安裝cnpm install react loadable s 如果專案有100個頁面,那laodable.js就需要寫100遍,這樣就感覺有點冗餘了,所以這個我們可以封裝一下 首先,我們建乙個utilsrc ...