技術文章
技術問答
My Project
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
549 瀏覽
分享至
重構 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鐵人賽
參賽組數
929
組
團體組數
32
組
累計文章數
13044
篇
完賽人數
156
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
17th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
18th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
熱門問題
六個語言的 README,要一比一翻完整,還是只寫到「裝得起來」就好?
「相容 MySQL 協議」的引擎,你們是怎麼做能力偵測的?我們試了 42 種,結論有點慘
本地跑模型做評測,你們是怎麼給 context 長度設上限的?我們沒設,7.1 GB 的模型吃掉了 51 GB
熱門回答
六個語言的 README,要一比一翻完整,還是只寫到「裝得起來」就好?
熱門文章
桌面、手機、網站都要接 OAuth2 登入,能用同一套嗎?
用 Gemini 打造《智數 Sudoku Master》網頁數獨:能推理、能拍照解答的科技結晶,只有一處美中不足?
iThome 鐵人賽的連續 30 天發文挑戰 區塊鏈與資安實戰
密碼學基礎複習:Hash、非對稱加密與數位簽章在區塊鏈的應用
講到 IT 監控,你一定聽過 SolarWinds--但你真的了解它在做些什麼嗎?
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}