iT邦幫忙

鐵人檔案

2018 iT 邦幫忙鐵人賽
回列表
Software Development

看到 code 寫成這樣我也是醉了,不如試試重構? 系列

有過慘痛維護經驗的開發者都會了解,程式是需要設計的!設計不良的架構,會在未來增修功能的時候,大喊要殺了某人;但追求完美設計的下場,反而會被不懂程式的非工程人員追進度,還會被嫌沒效率;「重構」能在這兩個極端之間取得一個平衡。它能在具備基本設計的架構上,持續以增修功能為目的,補足設計上的缺陷。不僅能持續交付程式碼,也能持續改善設計,好重構,不試嗎?

參賽天數 30 天 | 共 30 篇文章 | 117 人訂閱 訂閱系列文 RSS系列文 團隊帥哥講師互相傷害團
DAY 11

SOLID 之 依賴反轉原則(Dependency inversion principle)

原文: High-level modules should not depend on low-level modules. Both should dep...

2017-12-21 ‧ 由 Miles 分享
DAY 12

不在 SOLID 裡的 最小知識原則(Least Knowledge Principle)

會說不在 SOLID 裡,是因為在維基找不到,但書上有寫,所以就拿出來騙天數好了。 原文: Each unit should have only limite...

2017-12-22 ‧ 由 Miles 分享
DAY 13

看到 code 寫成這樣我也是醉了

今天開始,我們要一起來面對骯髒的程式碼了。 隨便找路邊的程式碼來重構,好像也不是很好,所以筆者拿五年前寫的程式碼,先讓大家看看它有多髒,我們接下來幾天會好好重構...

2017-12-23 ‧ 由 Miles 分享
DAY 14

重構的第一步--讓程式可以動

不管程式再怎麼爛,因為之前專題有過關,至少可以它「曾經」跑得起來吧? 只要跑得起來,我們就能確認它原本的功能,同時也讓重構的結果有個驗收標準--原本的功能要正常...

2017-12-24 ‧ 由 Miles 分享
DAY 15

來試著升級 PHP 吧

我們接下來會使用 PHPConf 2016 的簡報「使用 Slim 為 Legacy Code 重構」提到的 proxy pattern 方法來重構。而中間的...

2017-12-25 ‧ 由 Miles 分享
DAY 16

導入 Composer

Composer 是目前 PHP 界裡廣泛使用的套件管理工具,用 Composer 的自動載入也會比較容易跟 Laravel 串接。我們今天就來導入 Compo...

2017-12-26 ‧ 由 Miles 分享
DAY 17

整合 Laravel

昨天導入 Composer 主要是為了今天要整合 Laravel 前的準備。 今天要先初始化 Laravel 專案,再把兩個專案合併,只要處理合併後的問題即可。...

2017-12-27 ‧ 由 Miles 分享
DAY 18

導入 Database Migration

重構的過程中,最重要卻也最麻煩的流程,就是驗證。我們必須確保重構的過程不會把原本的功能改壞,只能靠不斷的測試,驗證功能沒壞,才能繼續下一步。 目前程式最讓我們頭...

2017-12-28 ‧ 由 Miles 分享
DAY 19

整合 CI

從開始拿到程式後,花了五天在調整程式,目的就是為了今天! CI 的原文是 Continuous Integration ,也就是要「常常做整合」。如果整合能夠自...

2017-12-29 ‧ 由 Miles 分享
DAY 20

導入驗收測試(1)

導入 Composer 的時候,我們有新增一個範例的單元測試。如果可以的話,下一步當然就是開始寫一些基本的單元測試,來保護系統元件。但,並不是每個專案都能這麼開...

2017-12-30 ‧ 由 Miles 分享