提問的智慧

如何更好的回答問題

好的技術社區不只需要會提問的人,也需要會回答的人。回答問題時,你既是在解決一個具體問題,也是在示範社區如何思考、如何表達、如何維護質量。

先假設對方可能只是緊張

態度和善一點。 問題帶來的壓力常使人顯得無禮或愚蠢,但很多時候他們只是焦慮、困惑或缺乏經驗。

對初犯者私下回復。 對那些坦誠犯錯的人,沒有必要當眾羞辱。一個真正的新手也許連怎麼搜索、該去哪裡找 FAQ、怎樣貼錯誤日誌都不知道。私下提醒能解決的問題,不必公開放大。

不確定時要誠實

如果你不確定,一定要說出來! 一個聽起來權威的錯誤回覆,比沒有回覆還糟。不要因為扮演專家很有趣,就給別人亂指路。謙虛和誠實能給提問者與旁觀者都樹立好榜樣。

如果幫不了忙,也別妨礙他。 不要在實際操作步驟上開玩笑。錯誤命令、偽造參數或危險建議可能會毀掉提問者的環境;總有人會把它們當成真的指令執行。

用反問幫助對方補齊信息

試探性的反問以引出更多細節。 如果你做得好,提問者可以學到東西,你也可以。試著把一個粗糙問題引導成好問題:詢問版本、環境、復現步驟、完整錯誤信息、預期結果和已經嘗試過的路徑。

儘管對懶惰問題抱怨一句 RTFM 有時是正當的,但給出文檔鏈接、FAQ 入口,甚至只是建議幾個更有效的搜索關鍵詞,通常會更有幫助。

真要回答,就認真回答

如果你決定回答,就請給出好的答案。 當別人正在使用錯誤工具或錯誤方法時,不要只給一個笨拙的權宜之計(workaround)。更好的回答是推薦合適的工具,重新界定問題,並解釋為什麼原方向不合適。

正面地回答問題。 如果提問者已經深入研究,並說明試過 X、Y、Z、A、B、C 但沒有結果,回答 試試看 A 或 B,或者把同一組建議原樣貼回去並附一個鏈接,幾乎沒有價值。你應該基於他已經提供的信息繼續推進。

讓社區從一次回答中受益

幫助你的社區從問題中學習。 當你回覆一個好問題時,可以問問自己:如何修改相關文檔或 FAQ,才能避免以後反覆回答同樣的問題? 如果答案明確,就向文檔維護者提交補丁或建議。

如果你是在研究一番後才作出回答,展現你的技巧,而不是隻端出結果。解釋你如何定位問題、如何排除可能性、為什麼選擇這個方案。畢竟,授人以魚不如授人以漁