iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0
IT Operation

AI 輔助開發下,測試如何保住品質防線系列 第 29 篇

Day 29:這些補救動作,哪些該真的推回公開套件?

  • 分享至 

  • xImage
  •  

前言:示範用的補救動作,哪些該真的推回去?

第四部這幾天,我們在一份本機暫存複本上做了好幾件事:補覆蓋率門檻的設定、示範把 check-style 接進 CI、幫 RefundRequest 補了一個例外測試、寫了一段可以放進 CLAUDE.md 的 prompt 規則。今天做一件很多技術文章不會做的事:誠實盤點這幾個補救動作,哪些只是這個系列的示範用途,哪些真的值得回頭推回這個公開套件——這兩者是不一樣的決定,不能混為一談。

今日目標

  • 把第四部做過的補救動作逐一列出來,盤點各自的性質
  • 分清楚「寫給讀者看的示範」跟「真的要對外部套件負責的變更」差在哪裡
  • 理解「示範完就結束」不代表這件事沒有價值,兩者服務的目的不同
  • 誠實面對這個系列到目前為止,還沒有真的把任何一個補救動作推回 omnipay-ecpay 這個公開套件

逐一盤點

補救動作 目前狀態 推回公開套件前還需要什麼
補覆蓋率門檻設定 在暫存複本上示範門檻的設定思路,沒有實際跑出真實覆蓋率百分比(本機環境缺 coverage driver) 需要先在一個裝好 pcov/xdebug 的環境裡實際跑出數字,確認門檻設得合理,不是憑空訂一個數字
check-style 接進 CI 示範 YAML 片段跟兩種處理既有違規的取捨,沒有真的決定要保留底線命名還是改成 camelCase 需要先做出「保留跟綠界文件一致的命名」還是「改成符合 PSR2」這個設計決定,這個決定會影響到套件的公開介面(方法名稱),不是可以隨便改的小事
Refund 的例外測試 在暫存複本上寫出一個具體的例外測試(13 行),驗證了「金額不合法時該拋出什麼」 需要先確認這個例外行為是不是套件目前真正想要的行為,還是只是示範用的假設,實際的錯誤處理邏輯可能需要跟 Omnipay 官方的例外慣例對齊
CLAUDE.md prompt 規則 寫成一段可以直接使用的規則文字 這個相對成本最低,可以直接採用,因為它只是給協作時參考的指引,不涉及公開套件的介面變動

「示範」跟「真的落地」的差別

示範的目的是讓讀者看懂『怎麼做』跟『做了會發生什麼』——這個系列前面幾天的補救動作,重點是讓你看到「原來把 check-style 接進 CI 會先踩到 8 個坑」「原來補一個例外測試沒有想像中複雜」這些具體的、可驗證的過程跟結果。

真的落地則要多考慮好幾層:這個變更會不會影響到已經在用這個套件的其他人?(例如把 setDesc_1 改成 setDesc1 是一個破壞性變更,會讓所有呼叫舊方法名稱的使用者程式碼壞掉)需不需要走一個正式的版本號升級流程?要不要先在 issue 或 PR 裡跟其他可能的貢獻者討論,而不是直接推上去?這些考量在「示範給讀者看」的情境下不需要處理,但在「真的要維護一個被別人依賴的公開套件」的情境下,是不能跳過的步驟。

❌ vs ✅:把示範直接當成已經完成的落地

❌ 危險的做法
「這個系列已經幫套件補了覆蓋率門檻、修好了 phpcs 違規、
補齊了 Refund 的測試」
→ 這句話會讓讀者誤以為套件已經正式更新,但其實這些
都只存在於一份本機暫存複本裡
✅ 誠實的做法
「這個系列在暫存複本上示範了怎麼做這幾件事、做了會發生
什麼、需要考慮哪些取捨;要不要真的推回公開套件,是接下來
需要另外評估、另外決定的事,不是這個系列自動完成的」

技術文章很容易在敘事上模糊「示範」跟「已完成」的界線,讓整個系列讀起來更有成就感——但這種模糊對讀者是一種誤導,也對這個公開套件的其他使用者不負責任。 這個系列選擇誠實面對這個界線,即使代價是讀起來沒有「问题都解決了」那麼爽快。

今日思考題

如果你也維護一個公開套件,你會怎麼決定「這個修正該不該推上去」的門檻?是看變更影響範圍、看有沒有其他人在用、還是看自己有沒有時間承擔後續的維護責任?

今日重點回顧

  • 第四部做的補救動作,性質各不相同:有的門檻低可以直接採用(CLAUDE.md 規則),有的需要先做設計決定才能推回(phpcs 命名慣例、覆蓋率門檻數字)
  • 「示範怎麼做」跟「真的對外部套件負責的變更」是兩種不同層次的工作,不能混為一談
  • 這個系列誠實地停在「示範」這一層,沒有假裝已經把這些改動推回公開套件

明日預告

明天是系列總結——回顧全部 30 天,也誠實聊一聊做這個系列過程中真正遇到的侷限跟猶豫。


上一篇
Day 28:如果 PHPStan 常態化跑下去,還會持續冒出什麼?
下一篇
Day 30:品質防線要自己蓋——這個系列 30 天的回顧
系列文
AI 輔助開發下,測試如何保住品質防線 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言