重構

why

? ??對于項目來言,重構可以保持代碼質(zhì)量持續(xù)處于一個可控狀態(tài),不至于腐化到無可救藥的地步。對于個人而言,重構非常鍛煉一個人的代碼能力,并且是一件非常有成就感的事情。它是我們學習的經(jīng)典設計思想、原則、模式、編程規(guī)范等理論知識的練兵場

? ??重構實際上是對我們學習的經(jīng)典設計思想、設計原則、設計模式、編程規(guī)范的一種應用。重構實際上就是將這些理論知識,應用到實踐的一個很好的場景,能夠鍛煉我們熟練使用這些理論知識的能力。除此之外,平時堆砌業(yè)務邏輯,你可能總覺得沒啥成長,而將一個比較爛的代碼重構成一個比較好的代碼,會讓你很有成就感。

? ??重構能力也是衡量一個工程師代碼能力的有效手段。所謂“初級工程師在維護代碼,高級工程師在設計代碼,資深工程師在重構代碼”,這句話的意思是說,初級工程師在已有代碼框架下修改 bug、修改添加功能代碼;高級工程師從零開始設計代碼結構、搭建代碼框架;而資深工程師為代碼質(zhì)量負責,需要發(fā)覺代碼存在的問題,重構代碼,時刻保證代碼質(zhì)量處于一個可控的狀態(tài)(當然這里的初級、高級、資深只是一個相對概念,并不是一個確定的職級)。

what 重構什么

? ??按照重構的規(guī)模,我們可以將重構大致分為大規(guī)模高層次的重構和小規(guī)模低層次的重構。大規(guī)模高層次重構包括對代碼分層、模塊化、解耦、梳理類之間的交互關系、抽象復用組件等等。這部分工作利用的更多的是比較抽象、比較頂層的設計思想、原則、模式。小規(guī)模低層次的重構包括規(guī)范命名、注釋、修正函數(shù)參數(shù)過多、消除超大類、提取重復代碼等等編程細節(jié)問題,主要是針對類、函數(shù)級別的重構。小規(guī)模低層次的重構更多的是利用編碼規(guī)范這一理論知識。

when

? ??我反復強調(diào),我們一定要建立持續(xù)重構意識,把重構作為開發(fā)必不可少的部分,融入到日常開發(fā)中,而不是等到代碼出現(xiàn)很大問題的時候,再大刀闊斧地重構。

how

? ??大規(guī)模高層次的重構難度比較大,需要組織、有計劃地進行,分階段地小步快跑,時刻讓代碼處于一個可運行的狀態(tài)。而小規(guī)模低層次的重構,因為影響范圍小,改動耗時短,所以,只要你愿意并且有時間,隨時隨地都可以去做。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1 重構的目的 1.1 重構的定義 軟件設計大師 Martin Fowler 是這樣定義重構的:“重構是一種對軟件...
    凱玲之戀閱讀 1,366評論 0 0
  • 軟件設計大師 Martin Fowler 是這樣定義重構的:“重構是一種對軟件內(nèi)部結構的改善,目的是在不改變軟件的...
    JBryan閱讀 659評論 0 0
  • 什么情況下要重構?到底重構什么?又該如何重構? 重構的目的:為什么要重構(why)? 在保持功能不變的前提下,利用...
    DreamSunny閱讀 478評論 0 1
  • 說到重構,我們都有各自的工作體會,需求太急沒時間,領導不支持,擔心得不償失,害怕重構出bug,不懂如何重構等。 在...
    兮兮碼字的地方閱讀 554評論 0 0
  • 1. 重構的目的? 重構是一種對軟件內(nèi)部結構的改善,目的是在不改變軟件的可見行為的情況下,使其更易理解,修改成本更...
    allen218閱讀 480評論 0 0

友情鏈接更多精彩內(nèi)容