程式工具的價值,落在你能否理解、驗證並維護它做的變更。用一個範圍小但規格完整的任務,比「哪款最強」更容易得到自己的答案。
先看它如何接進你的工作
編輯器內的工具方便對照檔案與差異;終端代理方便執行命令;雲端任務則要另外確認程式碼與憑證範圍。同一產品也可能跨多種介面。比較時記錄實際使用的模式,不用品牌名稱代替全部能力。
固定題目:整理一組標籤
實作 normalizeTags(input): 輸入為字串陣列。移除前後空白、轉小寫、排除空字串、去重,保留第一次出現的順序。 不可改動原始陣列。沿用專案現有測試工具,不新增套件。 先說明要改哪些檔案,再實作並執行相關測試。
| 輸入 | 預期 | 驗的是什麼 |
|---|---|---|
| [" AI ", "web", "ai", "", " Web "] | ["ai", "web"] | 合併規則與順序 |
| [] | [] | 空集合 |
| ["web", "AI"] | ["web", "ai"] | 沒有擅自排序 |
另外保存輸入的副本,執行後確認原陣列沒被更改。這個測試能抓出直接在原陣列排序或覆寫的實作,光看輸出則不一定能發現。
三種值得記下的差異
- 理解:是否看過現有測試、是否先問不存在的規格,是否把大小寫去重順序搞反。
- 變更:有沒有改無關檔案、增加不需要的套件、放寬型別或錯誤處理。
- 驗證:測試命令實際是否執行,失敗時修了程式還是偷偷改預期。
只產生程式而無法跑測試的模式,記作「待執行」,不要算成通過。一次通過也不代表其他任務能獲得相同結果。
記錄總成本,而不只生成速度
以「工具操作時間+人工讀差異+修正+驗證」比較。方案月費、額外使用費和團隊席次各自核對;不把已過期的固定請求數或效果倍數套用到現在。
本文提供可重做的比較方法,沒有替品牌排冠軍。延伸閱讀程式審查方法。
官方資料與延伸閱讀
方案、可用功能與限制會更新,請以連結中的官方說明及帳號當下顯示為準。本文的練習是編輯設計的示例,不是工具效能實測。