iT邦幫忙

鐵人檔案

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

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

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

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

導入驗收測試(2)

今天要寫瀏覽器的驗收測試。 跟昨天不一樣的地方在於,現在要測的是瀏覽器的行為,我們必須要啟動伺服器,並佈署程式,才能開瀏覽器測試。 這樣的好處是:過程更像上線,...

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

準備工作的簡短回顧

在拿到程式碼的時候,我們並不是立刻把程式碼砍掉重練,而是先做一連串的準備工作: Day 14 重構的第一步--讓程式可以動 Day 15 來試著升級 PH...

2018-01-01 ‧ 由 Miles 分享
DAY 23

調整程式碼風格(Coding Style)

雖然程式碼風格跟設計沒有關係,但是程式碼風格不一致,對理解程式是一個很大的阻礙。調整程式碼風格,是不會影響功能的,因此很適合拿來當重構的暖身。 PHP 的世界裡...

2018-01-02 ‧ 由 Miles 分享
DAY 24

MVC 架構--Controller & Model

昨天只是單純調整程式碼風格,今天開始要來改設計了! 現在的既有程式碼是「借」住在別人的平台上,原有的程式碼都沒做調整。我們應該把程式碼調整成比較像 Larave...

2018-01-03 ‧ 由 Miles 分享
DAY 25

MVC 架構--View

今天的任務有點麻煩,我們要把 Smarty 轉換成 Blade 。 理解舊樣版設計 Controller 只有兩個主要檔案,搬移相對簡單很多;樣版則有 9 個檔...

2018-01-04 ‧ 由 Miles 分享
DAY 26

建立 Eloquent

昨天在把 View 轉換成 Blade 時,會遇到一個重大的難題:我們沒有假資料建立方法可以方便地做自動化測試。 今天會來建立 Eloquent ,後面測試如果...

2018-01-05 ‧ 由 Miles 分享
DAY 27

整合 Eloquent

今天準備要來把 Eloquent 整合進程式裡,但因為底層的資料庫範圍這麼大,我們該如何知道測試有沒有跑到改的地方呢? 這時 Coverage 就是一個很好的幫...

2018-01-06 ‧ 由 Miles 分享
DAY 28

重構 Controller

雖然 Controller 昨天切成兩個了,但是裡面還是亂七八糟,今天的目標是要把裡面盡可能的整理。 使用 Service Provider Shop 與 My...

2018-01-07 ‧ 由 Miles 分享
DAY 29

組合應用

之前都是柿子挑軟的吃,專找簡單的好重構的目標下手。今天我們就來找個比較難搞的目標 Product 功能來試看看重構吧! 寫測試 第一步當然要先寫測試,以下是個簡...

2018-01-08 ‧ 由 Miles 分享
DAY 30

三十天總結

不管軟體或硬體,產品的外在品質都是讓客戶滿意的重要指標;但產品好不好維護,是要看內在品質的。 品質改善,不進則退 既有程式碼的技術債,如果沒有開發者察覺的話,就...

2018-01-09 ‧ 由 Miles 分享