在程序員世界里,當(dāng)提出一個技術(shù)問題時,你能得到怎樣的回答?這取決于挖出答案的難度,同樣取決于你提問的方法。本文意義在于幫助你提高發(fā)問技巧,以獲取你最想要的答案。
我們不想掩飾對這樣一些人的蔑視--他們不愿思考,或者在發(fā)問前不去完成他們應(yīng)該做的事。這種人只會謀殺時間--他們只愿索取,從不付出,無端消耗我們的時間,而我們本可以把時間用在更有趣的問題或者更值得回答的人身上。我們稱這樣的人為“失敗者”(由于歷史原因,我們有時把它拼作“l(fā)users”)。
我們在很大程度上屬于志愿者,從繁忙的生活中抽出時間來解惑答疑,而且時常被提問淹沒。所以我們無情的濾掉一些話題,特別是拋棄那些看起來象失敗者的家伙,以便更高效的利用時間來回答勝利者的問題。
========
提問之前
========
當(dāng)你提出問題的時候,首先要說明在此之前你干了些什么;這將有助于樹立你的形象:你不是一個妄圖不勞而獲的乞討者,不愿浪費別人的時間。如果提問者能從答案中學(xué)到東西,我們更樂于回答他的問題。
周全的思考,準備好你的問題,草率的發(fā)問只能得到草率的回答,或者根本得不到任何答案。越表現(xiàn)出在尋求幫助前為解決問題付出的努力,你越能得到實質(zhì)性的幫助。
小心別問錯了問題。如果你的問題基于錯誤的假設(shè),普通程序員通常會用無意義的字面解釋來答復(fù)你,心里想著“蠢問題。..”,希望著你會從問題的回答(而非你想得到的答案)中汲取教訓(xùn)。
決不要自以為夠資格得到答案,你沒這種資格。畢竟你沒有為這種服務(wù)支付任何報酬。你要自己去“掙”回一個答案,靠提出一個有內(nèi)涵的,有趣的,有思維激勵作用的問題,而不僅僅是被動的從他人處索要知識--去掙到這個答案。
另一方面,表明你愿意在找答案的過程中做點什么,是一個非常好的開端。
“誰能給點提示?”、“我這個例子里缺了什么?”以及“我應(yīng)該檢查什么地方?”比“請把確切的過程貼出來”更容易得到答復(fù)。因為你顯得只要有人指點正確的方向,你就有完成它的能力和決心。
==========
明白你想問什么
==========
漫無邊際的提問近乎無休無止的時間黑洞。最能給你有用答案的人也正是最忙的人(他們忙是因為要親自完成大部分工作)。這樣的人對無節(jié)制的時間黑洞不太感冒,因此也可以說他們對漫無邊際的提問不大感冒。
如果你明確表述需要回答者做什么(提供建議,發(fā)送一段代碼,檢查你的補丁或是別的),就最有可能得到有用的答案。這會定出一個時間和精力的上限, 便于回答者集中精力來幫你,這很湊效。
要理解專家們生活的世界,要把專業(yè)技能想象為充裕的資源,而回復(fù)的時間則是貧乏的資源。解決你的問題需要的時間越少,越能從忙碌的專家口中掏出答案。
因此,優(yōu)化問題的結(jié)構(gòu),盡量減少專家們解決它所需要的時間,會有很大的幫助--這通常和簡化問題有所區(qū)別。因此,問“我想更好的理解X,
能給點提示嗎?”通常比問“你能解釋一下X嗎?”更好。如果你的代碼不能工作,問問它有什么地方不對,比要求別人替你修改要明智得多。
================
別問應(yīng)該自己解決的問題
================
大牛總是善于分辨哪些問題應(yīng)該由你自己解決;因為我們中的大多數(shù)都曾自己解決這類問題。同樣,這些問題得由你來搞定,你會從中學(xué)到東西。
你可以要求給點提示,但別要求得到完整的解決方案。
==============
去除無意義的疑問
==============
別用無意義的話結(jié)束提問,例如“有人能幫我嗎?”或者“有答案嗎?”。
首先:如果你對問題的描述不很合適,這樣問更是畫蛇添足。其次:由于這樣問是畫蛇添足,大牛們會很厭煩你--而且通常會用邏輯上正確的回答來表 示他們的蔑視,例如:“沒錯,有人能幫你”或者“不,沒答案 ”。
======================
謙遜絕沒有害處,而且常幫大忙 x
======================
彬彬有禮,多用“請”和“先道個謝了”。讓大家都知道你對他們花費時間提供幫助心存感激。
然而,如果你有很多問題無法解決,禮貌將會增加你得到有用答案的機會。
(注意到,從資深程序員處得到的唯一嚴重缺陷反饋,就是對預(yù)先道謝這一條。一些程序員覺得“先謝了”的言外之意是過后就不會再感謝任何人了。我們的建議是:都道謝。)
==================
問題解決后,加個簡短說明
==================
問題解決后,向所有幫助過你的人發(fā)個說明,讓他們知道問題是怎樣解決 的,并再一次向他們表示感謝。如果問題在談?wù)搮^(qū)域內(nèi)引起了 廣泛關(guān)注,應(yīng)該在那里貼一個補充說明。
補充說明不必很長或是很深入;簡單的一句“你好,原來是網(wǎng)線出了問題!謝謝大家--Bill”比什么也不說要強。事實上,除非結(jié)論真的很有技術(shù)含量,否則簡短可愛的小結(jié)比長篇學(xué)術(shù)論文更好。說明問題是怎樣解決的,但大可不必將解決問題的過程復(fù)述一遍。
最后(至少?),這種補充有助于所有提供過幫助的人從中得到滿足感。
如果你自己不是老手,那就相信我們,這種感覺對于那些你向他們求助的導(dǎo)師或者專家而言,是非常重要的。問題久拖未決會讓人灰心;大牛們渴望看到問題被解決。好人有好報,滿足他們的渴望,你會在下次貼出新問題時嘗到甜頭。
==========
三思而后問
==========
以下是幾個經(jīng)典蠢問題,以及大牛在拒絕回答時的心中所想:
問題:我能在哪找到X程序?
問題:我的程序/配置/SQL申明沒有用
問題:我的Windows有問題,你能幫我嗎?
問題:我在安裝Linux(或者X)時有問題,你能幫我嗎?
問題:我怎么才能破解root帳號/竊取OP特權(quán)/讀別人的郵件呢?
提問:我能在哪找到X程序?
回答:就在我找到它的地方啊蠢貨--搜索引擎的那一頭。天吶!
還有人不會用Google嗎?
提問:我的程序(配置、SQL申明)沒有用
回答:這不算是問題吧,我對找出你的真正問題沒興趣--如果要
我問你二十個問題才找得出來的話--我有更有意思的事要做呢。
在看到這類問題的時候,我的反應(yīng)通常不外如下三種:
1. 你還有什么要補充的嗎?
2. 真糟糕,希望你能搞定。
3. 這跟我有什么鳥相關(guān)?
提問:我的Windows有問題,你能幫我嗎?
回答:能啊,扔掉萎軟的垃圾,換Linux吧。
提問:我在安裝Linux(或者X)時有問題,你能幫我嗎?
回答:不能,我只有親自在你的電腦上動手才能找到毛病。
還是去找你當(dāng)?shù)氐腖inux用戶組尋求手把手的指導(dǎo)吧(你能在這兒找到用戶組的清單)。
提問:我怎么才能破解root帳號/竊取OP特權(quán)/讀別人的郵件呢?
回答:想要這樣做,說明你是個卑鄙小人;想找個黑客幫你,說明你是個白癡!
-
程序員
+關(guān)注
關(guān)注
4文章
954瀏覽量
30288
發(fā)布評論請先 登錄
阿里云升級通義靈碼AI程序員,全面上線
TMS320C55x DSP CPU程序員參考補充

UCD3138A64/UCD3138128程序員手冊

機械革命發(fā)布CODE AI程序員本
AI編程工具會不會搶程序員飯碗
第五屆長沙·中國1024程序員節(jié)開幕
京東上萬程序員都AI用它!

程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

助力程序員告別困擾已久的夢魘-Bug

大模型時代,程序員當(dāng)下如何應(yīng)對 AI 的挑戰(zhàn)

評論