技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
DAY
16
0
Software Development
FooTinder App - 美食餐廳 x 推薦地圖
系列 第
16
篇
Day 16, [軟體開發] 重構,Refactor
15th鐵人賽
Jian-Min (Vincent) Huang
2023-10-01 14:26:42
464 瀏覽
分享至
重構 aka 拆家
我們先來對焦 context 一下,重構跟拆家基本上是一體兩面
沒有測試保護的重構不叫做重構,就做拆家
It's dirty, but it works!
這句話不是要跟我們說所以就不要動,而是說明一件事
如果沒寫測試但已經跑在正式環境運行正常,那代表現在就是在正式環境上測試
直接貿然重構等於是在把一塊一塊磚頭敲下來,讓正式環境的用戶幫你測試,是不是很像拆家
所以如果完全沒有測試保護,那就要先補測試,細的依賴較少用單元測試,粗的依賴較多用整合測試
重構也是一樣,小增量、多迭代、快回饋
寫測試 -> 重構 -> 修正 -> 反覆迭代 -> 上正式環境得到回饋
FooTinder 重構過嗎?
後端前前後後應該大重構了三四次
但是因為保證了與前端 HTTP 的協定,加上有整合測試保護
不能說沒出錯,不過都能很快的修正,沒釀出更大的錯誤
✌️ 那麼第十六天到這邊囉,明天來講 -> 運營中的用戶活躍
相關資訊
$_purefunc 純函式公司
FooTinder App站
FooTinder 官網
FooTinder App 下載連結
留言
追蹤
檢舉
上一篇
Day 15, [產品開發] 商業報表與監測
下一篇
Day 17, [產品開發] 運營中的用戶活躍
系列文
FooTinder App - 美食餐廳 x 推薦地圖
共
30
篇
目錄
RSS系列文
訂閱系列文
16
人訂閱
26
Day 26, [產品開發] 運營之收入與推薦
27
Day 27, [軟體開發] 上雲下地入K8 (11/26)
28
Day 28, [產品開發] 定義成功 (11/26)
29
Day 29, [軟體開發] 運維成本 (11/26)
30
Day 30, 總結 (11/26)
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19833
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
公司視訊會議 麥克風 問題
Windows本機administrator全部變成歡迎
現在Mail Server上雲365 Outlook不能向下相容?
(已解決)目前使用AWS的Lightsail服務,但沒使用RDS,一直被RDS服務扣錢
Entra如何修改proxyAddresses??
使用按鍵精靈完成ERP系統的單據輸入作業
Exchange online journal到外部....
SUPERSET 問題請教
熱門回答
公司視訊會議 麥克風 問題
現在Mail Server上雲365 Outlook不能向下相容?
使用按鍵精靈完成ERP系統的單據輸入作業
Exchange online journal到外部....
熱門文章
【實作】MCP Tool Poisoning 攻擊重現與防禦:用 Python 寫一個安全閘道來攔截惡意工具調用
2026 年前端工程師的生存戰:當程式碼不再是瓶頸,什麼才是你的核心價值?
別再把 AI Agent 學成碎片:一篇搞懂 Agent Systems 的四層技術棧
我寫了一個 CLI 工具,因為教 PM 什麼是 /etc/hosts 比自己做還累
[POG-Task-05] 對待任務與提示詞如同程式碼一樣
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}