工程師的反思:有時候繞路比修路快

2025 年 04 月 14 日

當網頁自動程式卡在 API 回應上,我一頭栽進程式碼修改的深淵,卻忽略了更簡單的解法。這次經驗教會我,臨時解決措施不僅能止血,還能讓問題快速解套。工程師思維,有時需要跳出框架,用奇招打破僵局!

小發現 Selenium

那天,我差點被自己的工程師思維絆了一跤

那天晚上,我伴侶傳來的訊息像顆手榴彈炸開:「你寫的網頁自動程式又卡住了啦!」螢幕前的我彷彿看到程式碼在嘲笑:「嘿嘿,這次換我當機了喔~」

當工程師的直覺反應

衝進開發者工具檢查 Network 標籤,果然發現某個 API 像被黑洞吸住般毫無回應。當下腦中自動彈出 SOP:

  1. 定位問題:確認鎖定 issapi-domain.com 這個拖油瓶
  2. 標準解法:修改 Python 程式設定最大等待時間,超過就跳過等待機制
  3. 緊急應變:修改測試後打包成 exe 檔傳給伴侶

手術刀拿起來要對程式碼開刀時,手錶顯示「剩 58 分鐘」,突然有種《不可能的任務》配樂在耳邊響起的既視感——改程式?測試?打包?這根本是死亡倒數啊!

被咖啡澆醒的靈光

正當焦慮值飆升時,突然想起前陣子幫公司設計 8D Report 系統時,腦中閃過「先止血再開刀啦!」,對啊!與其跟卡住的 API 硬碰硬,不如直接...

# 在 Chrome 選項偷藏暗器
chrome_options.add_argument('--host-rules=MAP issapi-domain.com 127.0.0.1')

或是更狠的:

# 直接祭出 hosts 檔案大法
127.0.0.1 issapi-domain.com

這招根本是「數位版圍魏救趙」,讓瀏覽器誤以為問題 API 住在自家後院(然後發現後院根本沒這間房)。測試結果顯示:頁面加載時間從 ∞ 秒降為 0.5 秒,伴侶當晚順利完成工作時,我看著螢幕傻笑,感覺自己像用湯匙挖通隧道的《刺激1995》主角。

工程師的思維

事後反思時,發現自己掉進兩個經典陷阱:

  1. 工具人模式:看到問題就直覺想修好工具,卻忘了工具是為目的服務
  2. 垂直思考慣性:像打地鼠只盯著眼前漏洞,沒水平掃視整個問題場景

這讓我想到《孫子兵法》說的「以正合,以奇勝」——正規解法(改程式)是基本盤,但奇招(改 hosts)才是破關關鍵。就像煮泡麵時發現沒熱水,與其燒開水不如直接拿保溫瓶剩餘熱水,這種「資源重組思維」反而更有效率。

臨時措施的三層境界

最近在設計 8D Report 系統時,更深刻體會到:

層級 思維模式 效果
菜鳥級 頭痛醫頭 可能引發併發症
高手級 尋找替代路徑 維持系統運作
大師級 轉化問題本質 把阻礙變成墊腳石

這次經驗就像在真實世界玩《傳送門》遊戲,當你卡關時,與其硬闖雷射網,不如直接在牆上開個傳送門繞過去。現在我的工程師守則多了條新規矩:「遇到 bug 時,先問自己:這個問題非解決不可,還是可以繞過?」