🎯 什麼情境該想到我

當技術討論或 code review 變成人身衝突、大家開始護短,或者提意見怕傷感情的時候。

出處:《高效程式設計師的 45 個習慣》習慣 3「對事不對人」。分工:這張是即用版;原書的完整內容(魔鬼的誘惑、三種回應的對照、四個技巧、平衡的藝術)→ 態度決定一切:對事不對人。

⚙️ 怎麼用

良策

「对事不对人。让我们骄傲的应该是解决了问题,而不是比较出谁的主意更好。」(旁註:消極扼殺創新)

三種回應的對照(原書的例子)

同事提出一個新方案:

  1. 「那样很蠢!」——否定個人能力。
  2. 「那样很蠢,你忘记考虑它要线程安全。」——指出缺點,但仍然在否定;而且如果對方回「它本來就跑在自己的執行緒上」,你會很難堪。
  3. 「谢谢。但是我想知道,如果两个用户同时登录会发生什么情况?」——只有這種有效:提出具體的顧慮,而不是下結論。

讓討論保持對事的四個技巧(原書)

  1. 設定最終期限:例如午餐前做出決定。沒有最好的答案,只有更合適的。
  2. 逆向思維:先看方案的優點,再努力從反面去認識它。
  3. 設立仲裁人:主持人確保每個人都有發言機會,防止明星員工主導;仲裁人不發表自己的意見。
  4. 支持已經做出的決定:客戶不在乎是誰的主意,結果才重要。

平衡的藝術(節錄)

  • 盡力貢獻想法,沒被採納也不需要生氣。
  • 「資料庫廠商可能會倒閉」這種說法不夠,要評估發生的可能性。
  • 只有更好,沒有最好——不存在「最佳實踐」,只有特定條件下更好的實踐。
  • 不帶情緒不等於盲目接受:用合適的詞和理由說明你為什麼不同意。

在 code review 裡的樣子

✗ 對人✓ 對事
「你又忘了處理錯誤。」「這個函式在 ctx 被取消時會回傳什麼?」
「這寫法太菜了。」「這裡用 map 會不會比較快?這個 slice 可能有幾千個元素。」
「誰寫的這段?」(在事故中)「這段程式碼在什麼情況下會拿到空值?」

🧪 我實際套用的紀錄

  • 2026-07-15:(待填)

⚠️ 注意 / 什麼時候不適用

  • 對事不對人不等於不在乎人的感受:用尊重的語氣談事,兩者兼顧。
  • 需要心理安全作為前提:在會懲罰錯誤的團隊裡,再怎麼強調對事不對人,大家還是不敢開口(見 工具-心理安全感)。
  • 明顯的問題要直接說:安全漏洞、會造成事故的 bug,提問式的說法可能太隱晦。

🔗 相關工具