什么是重構
重構是指在不改變代碼行為的前提下,重寫代碼,使其更加簡潔,易于服用
這是核心技能,并且經常我們在自己沒有意識到的情況下使用
什么是軟體架構
就像生物一樣,軟體系統通常由很多較小的部件組成,每個部件擅長做一件事,將這些部件組合起來,一起作業,可形成更大的軟體系統,術語軟體架構用來描述軟體專案的各個不同部件之間的組合方式,
筆者的理解就是軟體架構就是在拼裝高達
優秀架構是可預測的
軟體架構可預測是指可以對軟體的作業方式和結構做出準確的假設,可預測性表明預先的規劃是合理的,并有助于節省開發時間,因為可以避免下列問題:
- 組件的功能是什么
- 某一段代碼在何處
- 新代碼加到何處
在可預測的架構中,人們可以做出精確的假設,不熟悉代碼的開發人員也能夠更快地理解該架構,
優秀架構可提升代碼復用性
代碼復用是指在多處使用同一代碼而無需重寫,代碼復用優勢明顯,不用重寫已有代碼,可以加快開發速度,同理,解決某一問題所需的代碼越少,維護所有用該代碼實作的功能
所需的時間就越少,
優秀架構可擴展
跟可擴展性非常類似,可維護性對于架構也很重要,對于可維護的優秀架構,修改其現有功能很容易,隨著時間的推進,需求也許會發生變化,迫于需求變動的壓力,你將修改代
碼,可維護性軟體是指你修改一處代碼時,沒必要大規模改動其他代碼,
軟體架構和重構
重構有助于維護和提升軟體架構,
重構就是指調整代碼結構、使其更具意義的一套技術,重構可使代碼可預測、可復用、可擴展和可維護,
當你的軟體架構具備了上述特點時,它對目標用戶而言將更可靠,你在其上繼續開發也會更加愉快!
需要重構的原因
- 需求變更
- 架構設計不合理
- 低估困難
- 忽視最佳實踐
什么情況下應該重構代碼
結合代碼的背景關系重構代碼會更加容易,
因此,如果你修復的 bug 或開發的新功能用到了已有代碼,重構是最好的選擇,
處理小任務時順便重構代碼,不至于把一切搞亂,他人若修改你重構過的代碼也能從中受益,
不斷堅持重構代碼,代碼質量將達到卓越,前提是你的改動符合優秀架構的特點,
然而,有時你會遇到一段有很多依賴的代碼,也許需要決定是否對其重構,
重構有很多依賴的代碼,就像抽衣服上的線:抽得越多,散開得越多,
類似地,對于具有很多依賴的代碼,你改動得越多,需要更新的依賴就越多,
遇到這種情況,如果時間很緊,先把作業完成也許更適合,然后再勻出些時間,回頭審視并重構代碼,
然而,如果開發程序中重構某些小功能不至于嚴重影響到開發計劃,你也許可以考慮及時重構它們,
什么情況下不應該重構代碼
知道什么情況下不應該重構,甚至比知道什么情況下應該重構更為重要,
重構名聲不太好,因為有時看起來軟體開發人員只是為了重寫而重寫,
代碼也許是別人寫的,沒必要重構,但患有“不是我寫的癥”的開發人員一定要對其重構,因為他們認為不是自己寫的代碼就不是好代碼,
或者,有一天開發人員心血來潮,不再喜歡之前的代碼撰寫方法(也許之前類名使用下劃線而不是連字符,現在想改過來),因此他們鉆入重構的兔子洞以求止癢,
很多情況下,這些作業被視為“磨洋工”,它讓人們感覺效率很高,事實上并非如此,
在黑夜里夢想著光,心中覆寫悲傷,在悲傷里忍受孤獨,空守一絲溫暖, 我的淚水是無底深海,對你的愛已無言,相信無盡的力量,那是真愛永在, 我的信仰是無底深海,澎湃著心中火焰,燃燒無盡的力量,那是忠誠永在轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/445571.html
標籤:其他
上一篇:【軟體】重構與架構
