iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 7
1

在前面幾篇文章,針對程式碼的閱讀性,提到命名規則註解重構,接著讓我們簡單快速的回顧一下,持續優化碼內涵的概念與做法。

自我要求程式碼具有可有高閱讀性

持續優化碼的第一步,就是自我要求程式碼具有可有高閱讀性
這件事,一開始一定是困難的。因為這己經跟你原本的工作習慣有所差異。至少要花上三個月左右來磨合,工作上才會比較順手。

撰寫新功能

當我們現在撰寫新的功能時,不管是在宣告變數函數名稱類別名稱等等,都需要事先設想它的功能用途。然後,取一個符合該功能用途的名稱。

維護現有程式

如果今天是要修改前人遺留下的程式時,假若程式本身的閱讀性不佳。只要針對要修改部份的程式區段,進行最基本的重構—改名,讓經手過的程式,變成具有閱讀性的好程式碼。不管是要持續負責維護的自己,還是未來接手的同事,都是好事。

適時重構程式碼

筆者認為,寫程式就像是打造一件藝術品,一定要經過不斷的雕琢後,才能散發出他內在的光芒。
沒有人可以一開始就寫出完美而美麗的程式碼,一定是在開發過程中,不斷的重構,才能慢慢的產生高閱讀性高維護性高修改性的程式碼。

重構的保護傘—單元測試

很多人之所以不重構,主要的原因之一,就是擔心在執行軟體功能的優化或重構時,會將功能改壞,造成多做多錯、不做不錯。

要有效的執行單元測試的前提,程式的開發的方法,需符合 DI/IoC 、低耦合的原則。

重覆使用程式碼

很多工程師,為了快速達到開發的目標,可能會將相同的程式碼 Copy/Paste 到多個地方。但是,萬一這個部份的程式碼要修改,很容易發生…以為全部的程式碼都有改到,結果偏偏漏改一個地方。

因為筆者開發用的程式語言,都有支援物件導向。所以善用物件導向的特性,可以讓程式具有高維護性高修改性

筆者的開發習慣

以筆者開發的習慣,基本上有幾個原則。

  1. 資料來源商業邏輯使用者介面切割。
  2. 相同職責的函數,全部封裝於同一個類別之中。
  3. 開發功能中,以實現功能為最優先事項。完成一個函數功能後,立即確認是否有要重構的部份。
  4. 相近的功能,評估是否可以合併、重構為獨立的函數。盡可能的達到重覆使用程式碼的目標。
  5. 針對高使用性高重要性的的函數功能,撰寫對應的單元測試
  6. 完成程式開發後,再 Code review

上一篇
06. 避不開的基本功。持續優化程式碼的根本—重構 (待補完)
下一篇
08. 物件導向的特性—封裝、繼承、多型、抽象(撰寫中)
系列文
保持前進、持續優化程式碼內涵30

尚未有邦友留言

立即登入留言