你寫了一個守衛或規則(hook、linter、regex),它邏輯看起來沒錯,卻命中了不該命中的東西——這是規則層的誤報。多半的根因是同一個:規則寫得比意圖寬。

因、果、與一個切面

  • 機制(因):規則涵蓋範圍超出意圖,叫 over-match(過寬匹配)。
  • 結果(果):守衛因此被形似但非真意圖的輸入觸發,叫 false trigger(誤觸)。
  • linter 切面:靜態分析報的偽警告,叫 spurious warning

怎麼想這件事

誤觸不是「偵測器壞了」,是規則的範圍沒收好。收窄規則時要拿捏:太寬會誤觸(誤報),太窄會漏掉真的(漏接)。這個拉扯就是怎麼量偵測器裡 precision 與 recall 的取捨。

從這裡往下讀