正在提問時
精確描述問題
精確描述問題,是讓別人能夠繼續診斷的前提。你不需要一次寫成論文,但必須提供足夠事實,讓回答者不用先反覆追問最基本的信息。
需要寫清楚的信息
- 仔細、清楚地描述你的問題或 Bug 的症狀。
- 描述問題發生的環境(機器配置、操作系統、應用程序、以及相關的信息),提供經銷商的發行版和版本號(如:
Fedora Core 4、Slackware 9.1等)。 - 描述在提問前你是怎樣去研究和理解這個問題的。
- 描述在提問前為確定問題而採取的診斷步驟。
- 描述最近做過什麼可能相關的硬件或軟件變更。
- 儘可能地提供一個可以
重現這個問題的可控環境的方法。
預先回答可能的追問
儘量去揣測一個黑客會怎樣反問你,在你提問之前預先將黑客們可能提出的問題回答一遍。
你可以把自己放在回答者的位置上想一想:
- 我知道問題在哪個版本、哪臺機器、哪種配置下發生嗎?
- 我知道它是穩定復現,還是偶爾出現嗎?
- 我知道提問者已經排除了哪些原因嗎?
- 我能照著描述復現同樣的問題嗎?
如果答案是否定的,就繼續補充信息。
可復現環境尤其重要
以上幾點中,當你報告的是你認為可能在代碼中的問題時,給黑客一個可以重現你的問題的環境尤其重要。當你這麼做時,你得到有效的回答的機會和速度都會大大的提升。
“可復現”不一定意味著完整複製你的生產環境。一個最小示例、一段觸發錯誤的配置、一組輸入數據,或者一條明確的命令,都可能足以讓別人觀察同樣的現象。
延伸閱讀
Simon Tatham 寫過一篇名為《如何有效地報告Bug》的出色文章。強力推薦你也讀一讀。