你會問問題嗎?
在工作和生活中,總是會有很多人問我很多技術方面的問題。有一些時候,問問題的和答問題的總是會有一些不爽的事情發生。如下面的幾種情況:
- 比如:“我的電腦老是藍屏,怎么辦?”,通常這樣的問題90%以上的回答是:“重裝吧”。這讓問問題的人感到很沮喪,但你不能不承認那不是答案。而且有時候讓人無法解答,比如:“我的makefiel出錯了,你幫我看看我的makfile”,我通常會非反問,報了什么錯嗎?
- 另一種情況是,回答問題的人首先先對問問題的人的抱怨,你問的問題就不對,或是,你問的這個問題是什么意思,而導致問問題的人卻在不停地解釋,結果花了好長時間來討論問題本身是什么。
- 還有一種情況是,問的問題太簡單了甚至太白癡了,比如你自己試一試或是讀讀文檔就知道了的問題,或是問這個問題直接表明了你的無知或是懶惰。這種問題會相當影響別人對你的印象。
- 第四種情況是,提問者滔滔不絕,扯這扯那,講了一大堆,聽得聽累了。最后都不知道你要干什么。
所以,怎么去問問題,怎么問一個好的問題,是一個很重要的事。你提問的技術直接關系到了你是否能夠很快得到你滿意的答案。
這里有一篇文章推薦給大家《How To Ask Questions The Smart Way》,中文片在這里《提問的智慧》,我把其中的幾個亮點總結如下:
- 提問前先自己嘗試查找答案,讀讀文檔、手冊,看看有沒有相似的問題,看看那些方法能不能幫你解決問題,自己去試一試。如果你是程序員,你應該先學會自己調查一下源代碼。(不然,人家回答你的一定是——RTFM – Read The Fucking Manual)這樣的問題很多。我有時候很不愿意回答這樣的問題,因為我覺得問問題的人把我當成了他的小跟班了。
- 提問的時候,找正確的人或是正確的論壇發問。向陌生人或是不負責的人提問可能會是很危險的。不正確的人,會讓你事倍功半。如果你問Linux的人Windows太慢怎么辦?他們一定會讓你把Windows刪了裝Linux去的。
- 問的問題一定要是很明確的,并且闡述你做了哪些嘗試,你一定要簡化你的問題,這樣可以讓你的問題更容易被回答。對于一些問題,最好提供最小化的重現問題的步驟。
- 你一定要讓問題變得簡單易讀,這和寫代碼是一樣的。只有簡單易讀的郵件,人們才會去讀,試想看到一封巨大無比的郵件,讀郵件的心情都沒有了。而且,內容越多,可能越容易讓人理解錯了。
- 你問問題的態度應該是以一種討論的態度,即不是低三下四,也不是沒有底氣。只有這樣,你和你的問題才能真正被人看得起。要達到這個狀態,不想讓別人看不起你,你就一定需要自己去做好充足的調查。問題問得好的話,其實會讓人覺得你很有經驗的,能想到別人想不到的地方。
- 不要過早下結論。比如:“我這邊的程序不轉了,我覺得是你那邊的問題,你什么時候能fix?”,或是“太難調試了,gdb怎么這么爛?!”。當你這么做的時候,你一定要有足夠的信息和證據,否則,你就顯得很自大。好的問題應該是,“我和你的接口的程序有問題,我輸入了這樣的合法的參數,但是XX函數卻總是返回失敗,我們能一起看看嗎?”,“我看了一下gdb的文檔,發現我在用XXX命令調試YYY的時候,有這樣ZZZ的問題,是不是我哪里做錯了?”
全站熱搜