技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
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
160 瀏覽
分享至
重構 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鐵人賽
參賽組數
1047
組
團體組數
40
組
累計文章數
13158
篇
最後報名日
9/15
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
16th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
資訊安全
熱門問題
網路線裡的棉線是甚麼用途
不小心shift誤刪擋案,請問有免費安全的還原工具嗎?
硬碟保存的舊照片可否改變顯示時間,出現在google相簿的正確時間軸上?
Docker for Linux
ios版outlook登入登不進公司信箱
請問國內有外包合規的第三方資安公司嗎?
FortiGate網路設定疑問
Win10 接 HDMI 到電視,看影片突然破音卡住後就沒聲音
從cisco 下載檔案的訊息
如何在iT邦幫忙中的文章使用"加入數學公式"的功能?
熱門回答
run as administrator是否有更安全的用法
Sideproject 主機費用問題
如何在iT邦幫忙中的文章使用"加入數學公式"的功能?
replit下載到手機常常自動罷工,我該怎麼解決?
網路線裡的棉線是甚麼用途
熱門文章
開發概念建置:CIDR表示格式(重要)
Day11 - 誰說要卡才能進?MFKey32 攻擊讓你無卡也能破解門禁!
【Day 27】- 告別提示工程:DSPy如何革新大型語言模型的應用開發
【Day 23】- Adaptive-RAG:動態檢索策略提高系統問答精準度
【Day 26】- Ollama: 革命性工具讓本地 AI 開發觸手可及 - 從安裝到進階應用的完整指南
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}