有過慘痛維護經驗的開發者都會了解,程式是需要設計的!設計不良的架構,會在未來增修功能的時候,大喊要殺了某人;但追求完美設計的下場,反而會被不懂程式的非工程人員追進度,還會被嫌沒效率;「重構」能在這兩個極端之間取得一個平衡。它能在具備基本設計的架構上,持續以增修功能為目的,補足設計上的缺陷。不僅能持續交付程式碼,也能持續改善設計,好重構,不試嗎?
原文: High-level modules should not depend on low-level modules. Both should dep...
會說不在 SOLID 裡,是因為在維基找不到,但書上有寫,所以就拿出來騙天數好了。 原文: Each unit should have only limite...
今天開始,我們要一起來面對骯髒的程式碼了。 隨便找路邊的程式碼來重構,好像也不是很好,所以筆者拿五年前寫的程式碼,先讓大家看看它有多髒,我們接下來幾天會好好重構...
不管程式再怎麼爛,因為之前專題有過關,至少可以它「曾經」跑得起來吧? 只要跑得起來,我們就能確認它原本的功能,同時也讓重構的結果有個驗收標準--原本的功能要正常...
我們接下來會使用 PHPConf 2016 的簡報「使用 Slim 為 Legacy Code 重構」提到的 proxy pattern 方法來重構。而中間的...
Composer 是目前 PHP 界裡廣泛使用的套件管理工具,用 Composer 的自動載入也會比較容易跟 Laravel 串接。我們今天就來導入 Compo...
昨天導入 Composer 主要是為了今天要整合 Laravel 前的準備。 今天要先初始化 Laravel 專案,再把兩個專案合併,只要處理合併後的問題即可。...
重構的過程中,最重要卻也最麻煩的流程,就是驗證。我們必須確保重構的過程不會把原本的功能改壞,只能靠不斷的測試,驗證功能沒壞,才能繼續下一步。 目前程式最讓我們頭...
從開始拿到程式後,花了五天在調整程式,目的就是為了今天! CI 的原文是 Continuous Integration ,也就是要「常常做整合」。如果整合能夠自...