在提問(wèn)之前:
在你準(zhǔn)備要通過(guò)電子郵件蝌衔、新聞群組或者聊天室提出技術(shù)問(wèn)題前仲翎,請(qǐng)先做到以下事情:
- 嘗試在你準(zhǔn)備提問(wèn)的論壇的舊文章中搜索答案脚囊。
- 嘗試上網(wǎng)搜索以找到答案郭怪。
- 嘗試閱讀手冊(cè)以找到答案。
- 嘗試閱讀常見(jiàn)問(wèn)題文件(FAQ)以找到答案广辰。
- 嘗試自己檢查或試驗(yàn)以找到答案
- 向你身邊的強(qiáng)者朋友打聽(tīng)以找到答案暇矫。
- 如果你是程序開(kāi)發(fā)者主之,請(qǐng)嘗試閱讀源代碼以找到答案。
在提問(wèn)時(shí)
慎選提問(wèn)的論壇
小心選擇你要提問(wèn)的場(chǎng)合李根。如果你做了下述的事情槽奕,你很可能被忽略掉或者被看作失敗者:
- 在與主題不合的論壇上貼出你的問(wèn)題
- 在探討進(jìn)階技術(shù)問(wèn)題的論壇張貼非常初級(jí)的問(wèn)題;反之亦然
- 在太多的不同新聞群組上重復(fù)轉(zhuǎn)貼同樣的問(wèn)題(cross-post)
- 向既非熟人也沒(méi)有義務(wù)解決你問(wèn)題的人發(fā)送私人電郵
Stack Overflow
搜索房轿,然后 在 Stack Exchange 問(wèn)粤攒。
近年來(lái),Stack Exchange community 社區(qū)已經(jīng)成為回答技術(shù)及其他問(wèn)題的主要渠道囱持,尤其是那些開(kāi)放源碼的項(xiàng)目夯接。
因?yàn)?Google 索引是即時(shí)的,在看 Stack Exchange 之前先在 Google 搜索纷妆。有很高的機(jī)率某人已經(jīng)問(wèn)了一個(gè)類(lèi)似的問(wèn)題盔几,而且 Stack Exchange 網(wǎng)站們往往會(huì)是搜索結(jié)果中最前面幾個(gè)。如果你在 Google 上沒(méi)有找到任何答案掩幢,你再到特定相關(guān)主題的網(wǎng)站去找逊拍。用標(biāo)簽(Tag)搜索能讓你更縮小你的搜索結(jié)果。
網(wǎng)站和 IRC 論壇
本地的使用者群組(user group)际邻,或者你所用的 Linux 發(fā)行版本也許正在宣傳他們的網(wǎng)頁(yè)論壇或 IRC 頻道芯丧,并提供新手幫助(在一些非英語(yǔ)國(guó)家,新手論壇很可能還是郵件列表)世曾, 這些地方是開(kāi)始提問(wèn)的好首選缨恒,特別是當(dāng)你覺(jué)得遇到的也許只是相對(duì)簡(jiǎn)單或者很普通的問(wèn)題時(shí)。有廣告贊助的 IRC 頻道是公開(kāi)歡迎提問(wèn)的地方轮听,通持坠欤可以即時(shí)得到回應(yīng)。
事實(shí)上蕊程,如果程序出的問(wèn)題只發(fā)生在特定 Linux 發(fā)行版提供的版本(這很常見(jiàn))椒袍,最好先去該發(fā)行版的論壇或郵件列表中提問(wèn),再到程序本身的論壇或郵件列表提問(wèn)藻茂。(否則)該項(xiàng)目的黑客可能僅僅回復(fù) "用我們的版本"驹暑。
在任何論壇發(fā)文以前,先確認(rèn)一下有沒(méi)有搜索功能辨赐。如果有优俘,就試著搜索一下問(wèn)題的幾個(gè)關(guān)鍵詞,也許這會(huì)有幫助掀序。如果在此之前你已做過(guò)通用的網(wǎng)頁(yè)搜索(你也該這樣做)帆焕,還是再搜索一下論壇,搜索引擎有可能沒(méi)來(lái)得及索引此論壇的全部?jī)?nèi)容不恭。
通過(guò)論壇或 IRC 頻道來(lái)提供使用者支持服務(wù)有增長(zhǎng)的趨勢(shì)叶雹,電子郵件則大多為項(xiàng)目開(kāi)發(fā)者間的交流而保留财饥。所以最好先在論壇或 IRC 中尋求與該項(xiàng)目相關(guān)的協(xié)助。
在使用 IRC 的時(shí)候折晦,首先最好不要發(fā)布很長(zhǎng)的問(wèn)題描述钥星,有些人稱之為頻道洪水。最好通過(guò)一句話的問(wèn)題描述來(lái)開(kāi)始聊天满着。
第二步谦炒,使用項(xiàng)目郵件列表
當(dāng)某個(gè)項(xiàng)目提供開(kāi)發(fā)者郵件列表時(shí),要向列表而不是其中的個(gè)別成員提問(wèn)风喇,即使你確信他能最好地回答你的問(wèn)題宁改。查一查項(xiàng)目的文件和首頁(yè),找到項(xiàng)目的郵件列表并使用它魂莫。有幾個(gè)很好的理由支持我們采用這種辦法:
- 任何好到需要向個(gè)別開(kāi)發(fā)者提出的問(wèn)題透且,也將對(duì)整個(gè)項(xiàng)目群組有益。反之豁鲤,如果你認(rèn)為自己的問(wèn)題對(duì)整個(gè)項(xiàng)目群組來(lái)說(shuō)太愚蠢,也不能成為騷擾個(gè)別開(kāi)發(fā)者的理由鲸沮。
- 向列表提問(wèn)可以分散開(kāi)發(fā)者的負(fù)擔(dān)琳骡,個(gè)別開(kāi)發(fā)者(尤其是項(xiàng)目領(lǐng)導(dǎo)人)也許太忙以至于沒(méi)法回答你的問(wèn)題。
- 大多數(shù)郵件列表都會(huì)被存檔讼溺,那些被存檔的內(nèi)容將被搜索引擎索引楣号。如果你向列表提問(wèn)并得到解答,將來(lái)其它人可以通過(guò)網(wǎng)頁(yè)搜索找到你的問(wèn)題和答案怒坯,也就不用再次發(fā)問(wèn)了炫狱。
- 如果某些問(wèn)題經(jīng)常被問(wèn)到,開(kāi)發(fā)者可以利用此信息來(lái)改進(jìn)說(shuō)明文件或軟件本身剔猿,以使其更清楚视译。如果只是私下提問(wèn),就沒(méi)有人能看到最常見(jiàn)問(wèn)題的完整場(chǎng)景归敬。
使用有意義且描述明確的標(biāo)題
在郵件列表酷含、新聞群組或論壇中,大約 50 字以內(nèi)的標(biāo)題是抓住資深專家注意力的好機(jī)會(huì)汪茧。別用喋喋不休的幫幫忙椅亚、跪求、急(更別說(shuō)救命安瘴邸Q教颉!@┑啤媚赖!這樣讓人反感的話霜瘪,用這種標(biāo)題會(huì)被條件反射式地忽略)來(lái)浪費(fèi)這個(gè)機(jī)會(huì)。不要妄想用你的痛苦程度來(lái)打動(dòng)我們省古,而應(yīng)該是在這點(diǎn)空間中使用極簡(jiǎn)單扼要的描述方式來(lái)提出問(wèn)題粥庄。
一個(gè)好標(biāo)題范例是目標(biāo) -- 差異式的描述,許多技術(shù)支持組織就是這樣做的豺妓。在目標(biāo)部分指出是哪一個(gè)或哪一組東西有問(wèn)題惜互,在差異部分則描述與期望的行為不一致的地方。
蠢問(wèn)題:救命傲帐谩训堆!我的筆記本電腦不能正常顯示了!
聰明問(wèn)題:X.org 6.8.1 的鼠標(biāo)光標(biāo)會(huì)變形白嘁,某牌顯卡 MV1005 芯片組坑鱼。
更聰明問(wèn)題:X.org 6.8.1 的鼠標(biāo)光標(biāo),在某牌顯卡 MV1005 芯片組環(huán)境下 - 會(huì)變形絮缅。
使問(wèn)題容易回復(fù)
以請(qǐng)將你的回復(fù)寄到……
來(lái)結(jié)束你的問(wèn)題多半會(huì)使你得不到回答鲁沥。如果你覺(jué)得花幾秒鐘在郵件客戶端設(shè)置一下回復(fù)地址都麻煩,我們也覺(jué)得花幾秒鐘思考你的問(wèn)題更麻煩耕魄。如果你的郵件程序不支持這樣做画恰,換個(gè)好點(diǎn)的;如果是操作系統(tǒng)不支持這種郵件程序吸奴,也換個(gè)好點(diǎn)的允扇。
在論壇,要求通過(guò)電子郵件回復(fù)是非常無(wú)禮的则奥,除非你相信回復(fù)的信息可能比較敏感(而且有人會(huì)為了某些未知的原因考润,只讓你而不是整個(gè)論壇知道答案)。如果你只是想在有人回復(fù)討論串時(shí)得到電子郵件提醒读处,可以要求網(wǎng)頁(yè)論壇發(fā)送給你糊治。幾乎所有論壇都支持諸如追蹤此討論串
、有回復(fù)時(shí)發(fā)送郵件提醒
等功能罚舱。
用清晰俊戳、正確、精準(zhǔn)并語(yǔ)法正確的語(yǔ)句
我們從經(jīng)驗(yàn)中發(fā)現(xiàn)馆匿,粗心的提問(wèn)者通常也會(huì)粗心的寫(xiě)程序與思考(我敢打包票)抑胎。回答粗心大意者的問(wèn)題很不值得渐北,我們寧愿把時(shí)間耗在別處阿逃。
精確的描述問(wèn)題并言之有物
仔細(xì)、清楚地描述你的問(wèn)題或 Bug 的癥狀。
描述問(wèn)題發(fā)生的環(huán)境(機(jī)器配置恃锉、操作系統(tǒng)搀菩、應(yīng)用程序、以及相關(guān)的信息)破托,提供經(jīng)銷(xiāo)商的發(fā)行版和版本號(hào)(如:Fedora Core 4肪跋、Slackware 9.1等)。
描述在提問(wèn)前你是怎樣去研究和理解這個(gè)問(wèn)題的土砂。
描述在提問(wèn)前為確定問(wèn)題而采取的診斷步驟州既。
描述最近做過(guò)什么可能相關(guān)的硬件或軟件變更。
盡可能的提供一個(gè)可以重現(xiàn)這個(gè)問(wèn)題的可控環(huán)境的方法萝映。
話不在多而在精
你需要提供精確有內(nèi)容的信息吴叶。這并不是要求你簡(jiǎn)單的把成堆的出錯(cuò)代碼或者資料完全轉(zhuǎn)錄到你的提問(wèn)中。如果你有龐大而復(fù)雜的測(cè)試樣例能重現(xiàn)程序掛掉的情境序臂,盡量將它剪裁得越小越好蚌卤。
這樣做的用處至少有三點(diǎn)。 第一奥秆,表現(xiàn)出你為簡(jiǎn)化問(wèn)題付出了努力逊彭,這可以使你得到回答的機(jī)會(huì)增加; 第二构订,簡(jiǎn)化問(wèn)題使你更有可能得到有用的答案侮叮; 第三,在精煉你的 bug 報(bào)告的過(guò)程中鲫咽,你很可能就自己找到了解決方法或權(quán)宜之計(jì)。
別動(dòng)輒聲稱找到 Bug
當(dāng)你在使用軟件中遇到問(wèn)題谷异,除非你非常分尸、非常的有根據(jù),不要?jiǎng)虞m聲稱找到了 Bug歹嘹。提示:除非你能提供解決問(wèn)題的源代碼補(bǔ)丁箩绍,或者提供回歸測(cè)試來(lái)表明前一版本中行為不正確,否則你都多半不夠完全確信尺上。這同樣適用在網(wǎng)頁(yè)和文件材蛛,如果你(聲稱)發(fā)現(xiàn)了文件的Bug
,你應(yīng)該能提供相應(yīng)位置的修正或替代文件怎抛。
請(qǐng)記得卑吭,還有許多其它使用者沒(méi)遇到你發(fā)現(xiàn)的問(wèn)題,否則你在閱讀文件或搜索網(wǎng)頁(yè)時(shí)就應(yīng)該發(fā)現(xiàn)了(你在抱怨前已經(jīng)做了這些马绝,是吧豆赏?)。這也意味著很有可能是你弄錯(cuò)了而不是軟件本身有問(wèn)題。
編寫(xiě)軟件的人總是非常辛苦地使它盡可能完美掷邦。如果你聲稱找到了 Bug白胀,也就是在質(zhì)疑他們的能力,即使你是對(duì)的抚岗,也有可能會(huì)冒犯到其中某部分人或杠。當(dāng)你在標(biāo)題中嚷嚷著有Bug
時(shí),這尤其嚴(yán)重宣蔚。
提問(wèn)時(shí)向抢,即使你私下非常確信已經(jīng)發(fā)現(xiàn)一個(gè)真正的 Bug,最好寫(xiě)得像是你做錯(cuò)了什么件已。如果真的有 Bug笋额,你會(huì)在回復(fù)中看到這點(diǎn)。這樣做的話篷扩,如果真有 Bug兄猩,維護(hù)者就會(huì)向你道歉,這總比你惹惱別人然后欠別人一個(gè)道歉要好一點(diǎn)鉴未。
低聲下氣不能代替你的功課
有些人明白他們不該粗魯或傲慢的提問(wèn)并要求得到答復(fù)枢冤,但他們選擇另一個(gè)極端 -- 低聲下氣:我知道我只是個(gè)可悲的新手,一個(gè)擼瑟铜秆,但...
淹真。這既使人困擾,也沒(méi)有用连茧,尤其是伴隨著與實(shí)際問(wèn)題含糊不清的描述時(shí)更令人反感核蘸。
別用原始靈長(zhǎng)類(lèi)動(dòng)物的把戲來(lái)浪費(fèi)你我的時(shí)間。取而代之的是啸驯,盡可能清楚地描述背景條件和你的問(wèn)題情況客扎。這比低聲下氣更好地定位了你的位置。
有時(shí)網(wǎng)頁(yè)論壇會(huì)設(shè)有專為新手提問(wèn)的版面罚斗,如果你真的認(rèn)為遇到了初學(xué)者的問(wèn)題徙鱼,到那去就是了,但一樣別那么低聲下氣针姿。
描述問(wèn)題癥狀而非你的猜測(cè)
告訴黑客們你認(rèn)為問(wèn)題是怎樣造成的并沒(méi)什么幫助袱吆。(如果你的推斷如此有效,還用向別人求助嗎距淫?)绞绒,因此要確信你原原本本告訴了他們問(wèn)題的癥狀,而不是你的解釋和理論榕暇;讓黑客們來(lái)推測(cè)和診斷处铛。如果你認(rèn)為陳述自己的猜測(cè)很重要饲趋,清楚地說(shuō)明這只是你的猜測(cè),并描述為什么它們不起作用撤蟆。