重构随笔——重构的原则
2019獨角獸企業重金招聘Python工程師標準>>>
重構的基本原則之一:不改變軟件的可觀察行為。
這一基本原則闡述的是我們在做重構的時候,維持外部的功能外觀不變,讓用戶無法感知重構的變化。其實這很好理解,重構與添加新功能兩者的角色仿佛總是對立的。添加新的功能與重構所做的事情應該恰恰相反:不應該修改既有的代碼,只是添加功能而已。
我們總是在不知不覺中切換兩者的角色,業務需求總是要我們添加新的功能,但是我們在開發過程中會發現,如果重構一下代碼,可以更優雅的添加我們的功能。所以你會發現兩者其實并非絕對對立:重構為了更好的增新,增新則會帶來新的重構。
這與中國道家的陰陽理論不謀而合,“奇正相生,如循環之無端,孰能窮之。”沒有一勞永逸的重構,在代碼的編寫上,重構與增新總是循環往復,交織在一起。分清你現在的角色就顯得很重要了,重構的時候一定要牢記自己的原則與初衷,這樣才不會在重構上偏的太遠。
重構的時間原則:理論上,當你感覺到代碼讓你寫起來覺得惡心的時候,意味著重構的時機已到。沒有什么特定的時間去重構,想到了就去做,隨時隨地,不用為重構留出特意準備的時間,你會發現你定好的時間總是或早或晚,早了沒有必要,晚了則承受了太多痛苦。但是在項目的開發中,我們總要遵循一定的規范,那么我建議是下面三個時機是最好的。
1.添加功能的時候。最重要的時機,你總會在新增功能的時候發現設計上不合理的時候,這是你可以體會你設計上優缺點最敏感的時候,不要錯過這個時機。
2.修復BUG的時候。錯誤往往是由于你的設計不合理而產生的,設計上的不合理會讓你產生對代碼的誤解,從而在修改代碼的時候引入新的錯誤。如果你的項目中總是有一些無法一眼看到的BUG隱藏在角落里,那么這個時候你就需要考慮去重構你的代碼。
3.審核代碼的時候。審核代碼一般都是很多人在一起或者是一個老手在審核你的代碼,人們往往總是針對一個熟識的東西會無意識的過濾其優缺點。代碼也是,我們需要別人給我們提供建議,他們的建議是站在別人的角度,這對于我們是尤為重要,代碼是要給人讀的,能寫出給機器讀的代碼很容易,寫出給人讀的代碼才是高手。
轉載于:https://my.oschina.net/hantianyu/blog/715669
總結
以上是生活随笔為你收集整理的重构随笔——重构的原则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线程执行器
- 下一篇: 使用 StatsD + InfluxDB