程式碼重構(四)
重構是對軟體內部結構的一種調整,目的是在不改變軟體行為的前提下,提高其可理解性,降低其修改成本。開發人員可以使用一系列重構準則,在不改變軟體行為的前提下,調整軟體的結構。
有很多種原因,開發人員應該重構程式碼,例如之前的開發人員程式碼寫得很爛、自己以前設計時有缺陷、需求變更需要新增一些新的功能或修改原有功能等等。Martin Fowler在其著名的<>一書中談到了為何重構的幾點原因:
1. 重構可以改進軟體設計
如果不進行重構,程式的設計會變得越來越糟糕。通常程式設計師只為短期的目的,或者在沒有完全理解整體設計的時候,就開始修改程式碼,這樣程式將會逐漸失去自己的結構,程式設計師也愈來愈難通過閱讀原始碼理解原本設計,相信對此每一個開發人員都深有體會。
程式碼結構的流失是累積性的,愈難看出程式碼所代表的意思,就越難保護其中的設計,於是設計也將變得越來越糟糕,經常性重構可以幫助維持設計該有的形態。
2. 重構使軟體更易被理解
很多開發人員認為程式碼只要能夠執行起來就可以了,筆者剛開始做開發的時候也是這麼認為的,也寫過很多的垃圾程式碼,也因此吃了不少苦頭。
也許有些人可能會認為自己可能不久就會離開所在的職位,不必在意程式碼的質量,但作為一個開發人員來說,寫出漂亮的程式碼是最基本的素質。
在軟體的不斷修改過程中,程式碼的可讀性越來越差也是會慢慢累積的,但這不要緊,只要記得持續重構,就能使自己的程式碼更容易被理解。
3. 重構可以協助找到Bugs
對程式碼的理解,可以更容易找到bug,在重構的同時,也能夠更好的理解程式碼及其行為,從而通過重構能夠幫助開發人員寫出更強壯的程式碼。
4. 重構可以提高程式設計的速度
良好的設計是快速軟體開發的根本,如果沒有良好的設計,也許開始的一段時間開發人員的進展迅速,但是惡劣的設計很快就會使開發速度慢下來。也許把時間花在除錯上的時間會越來越多,修改的時間會越來越長,而且這會是一個惡性的迴圈。
良好的設計是維持軟體開發速度的根本,重構可以幫助開發人員更快速地開發軟體,因為它能夠阻止系統的設計變質,能夠提高程式碼的可讀性。
有很多種原因,開發人員應該重構程式碼,例如之前的開發人員程式碼寫得很爛、自己以前設計時有缺陷、需求變更需要新增一些新的功能或修改原有功能等等。Martin Fowler在其著名的<
1. 重構可以改進軟體設計
如果不進行重構,程式的設計會變得越來越糟糕。通常程式設計師只為短期的目的,或者在沒有完全理解整體設計的時候,就開始修改程式碼,這樣程式將會逐漸失去自己的結構,程式設計師也愈來愈難通過閱讀原始碼理解原本設計,相信對此每一個開發人員都深有體會。
程式碼結構的流失是累積性的,愈難看出程式碼所代表的意思,就越難保護其中的設計,於是設計也將變得越來越糟糕,經常性重構可以幫助維持設計該有的形態。
2. 重構使軟體更易被理解
很多開發人員認為程式碼只要能夠執行起來就可以了,筆者剛開始做開發的時候也是這麼認為的,也寫過很多的垃圾程式碼,也因此吃了不少苦頭。
也許有些人可能會認為自己可能不久就會離開所在的職位,不必在意程式碼的質量,但作為一個開發人員來說,寫出漂亮的程式碼是最基本的素質。
在軟體的不斷修改過程中,程式碼的可讀性越來越差也是會慢慢累積的,但這不要緊,只要記得持續重構,就能使自己的程式碼更容易被理解。
3. 重構可以協助找到Bugs
對程式碼的理解,可以更容易找到bug,在重構的同時,也能夠更好的理解程式碼及其行為,從而通過重構能夠幫助開發人員寫出更強壯的程式碼。
4. 重構可以提高程式設計的速度
良好的設計是快速軟體開發的根本,如果沒有良好的設計,也許開始的一段時間開發人員的進展迅速,但是惡劣的設計很快就會使開發速度慢下來。也許把時間花在除錯上的時間會越來越多,修改的時間會越來越長,而且這會是一個惡性的迴圈。
良好的設計是維持軟體開發速度的根本,重構可以幫助開發人員更快速地開發軟體,因為它能夠阻止系統的設計變質,能夠提高程式碼的可讀性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13081368/viewspace-232241/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼重構與單元測試——重構1的單元測試(四)
- 程式碼重構之法——方法重構分析
- “硬核”程式碼重構
- 重構 PHP 程式碼PHP
- 重構-改善既有程式碼的設計(四)–構築測試體系
- 【讀程式碼重構有感】
- 談談程式碼重構
- 程式碼重構技巧(二)
- 程式碼重構:類重構的 8 個小技巧
- 重構你的javascript程式碼JavaScript
- 程式碼重構那些事兒
- 重構改善既有的程式碼設計(重構原則)
- 程式碼重構:函式重構的 7 個小技巧函式
- 程式碼重構與單元測試——“提取方法”重構(三)
- 重構程式碼(應如寫詩)
- 程式碼的壞味道和重構
- 記一次程式碼重構
- 重構:改善既有程式碼的設計(第二版讀書筆記) - 重構、壞程式碼、寫好程式碼筆記
- jscodeshift入門簡介&程式碼重構&程式碼分析&&ReactJSReact
- 程式碼重構-業務中臺化
- 3個例子教你重構 Python 程式碼Python
- 6 個例子教你重構 Python 程式碼Python
- leobert重構程式碼二三事--一.可怕的低階程式碼
- 還重構?就你那程式碼只能鏟了重寫!
- 重構:幹掉有壞味道的程式碼
- 《重構——改善既有程式碼的設計》感想
- Python教程:異常捕捉與程式碼重構Python
- 程式碼重構與單元測試(一)
- 基礎程式碼重構的若干建議(一)
- JS 程式碼的簡單重構與優化JS優化
- 重構 - 改善程式碼的各方面問題
- 要想後期修改少,程式碼重構要趁早
- 優化重構Python程式碼6個小建議優化Python
- 程式碼重構與單元測試——對方法的引數進行重構(五)
- 為什麼IT程式設計師都不願意重構程式碼?程式設計師
- 重構-改善既有程式碼的設計(七)– 在程式碼之間搬移特性
- 程式碼重構之道:消滅冗長的if語句,提升程式碼質量
- 專案的改造——RemoveButterKnife外掛程式碼的重構REM
- 簡單的3步,重構我們的程式碼