|
原文:How To Ask Questions The Smart Way
作者:Eric Steven Raymond, Rick Moen
翻譯:王剛 <yafrank at 126 dot com >
時(shí)間:2010年9月28日
如果你想復(fù)制、鏡像、翻譯或引用本文,請(qǐng)參閱我的復(fù)制協(xié)議。
棄權(quán)申明
許多項(xiàng)目的網(wǎng)站在如何取得幫助的部分鏈接了本文,這沒(méi)有關(guān)系,也正是我們想要的。但如果你是該項(xiàng)目生成此鏈接的網(wǎng)管,請(qǐng)?jiān)阪溄痈浇@著位置注明:我們不提供該項(xiàng)目的服務(wù)支持!
我們已經(jīng)領(lǐng)教了沒(méi)有此說(shuō)明帶來(lái)的痛苦,我們將不停地被一些白癡糾纏,他們認(rèn)為既然我們發(fā)布了本文,那么我們就有責(zé)任解決世上所有的技術(shù)問(wèn)題。
如果你是因?yàn)樾枰獛椭陂喿x本文,然后就帶著可以直接從作者那取得幫助的印象離開,那么你就不幸成了我們所說(shuō)的白癡之一。 別向我們提問(wèn),我們不會(huì)理睬的。 我們只是在這教你如何從那些真正懂得你軟硬件問(wèn)題的人那里取得幫助,但 99.9% 的時(shí)間我們不會(huì)是那些人。除非你非常地確定本文的作者是你遇到問(wèn)題方面的專家,請(qǐng)不要打攪,這樣大家都更開心一點(diǎn)。
引言
在黑客的世界里,你所提技術(shù)問(wèn)題的解答很大程度上取決于你提問(wèn)的方式與解決此問(wèn)題的難度,本文將教你如何提問(wèn)才更有可能得到滿意的答復(fù)。
開源程序的應(yīng)用已經(jīng)很廣,你通常可以從其他更有經(jīng)驗(yàn)的用戶而不是黑客那里得到解答。這是好事,他們一般對(duì)新手常有的毛病更容忍一點(diǎn)。然而,使用我們推薦的方法,象對(duì)待黑客那樣對(duì)待這些有經(jīng)驗(yàn)的用戶,通常能最有效地得到問(wèn)題的解答。
第一件需要明白的事是黑客喜歡難題和激發(fā)思考的好問(wèn)題。假如不是這樣,我們也不會(huì)寫本文了。如果你能提出一個(gè)有趣的問(wèn)題讓我們咀嚼玩味,我們會(huì)感激你。好問(wèn)題是種激勵(lì)與禮物,幫助我們發(fā)展認(rèn)知,揭示沒(méi)有注意或想到的問(wèn)題。在黑客中,“好問(wèn)題!” 是非常熱烈而真摯的贊許。
此外,黑客還有遇到簡(jiǎn)單問(wèn)題就表現(xiàn)出敵視或傲慢的名聲。有時(shí),我們看起來(lái)還對(duì)新手和愚蠢的家伙有條件反射式的無(wú)禮,但事情并不真是這樣。
我們只是毫無(wú)歉意地?cái)骋暷切┨釂?wèn)前不愿思考、不做自己家庭作業(yè)的人。這種人就象時(shí)間無(wú)底洞──他們只知道索取,不愿意付出,他們浪費(fèi)了時(shí)間,這些時(shí)間本可用于其它更有趣的問(wèn)題或更值得回答的人。我們將這種人叫做 “失敗者(loser)” (由于歷史原因,我們有時(shí)將“loser”拼寫為“lusers” 。)
我們意識(shí)到許多人只是想使用我們寫的軟件,他們對(duì)學(xué)習(xí)技術(shù)細(xì)節(jié)沒(méi)有興趣。對(duì)大多數(shù)人而言,計(jì)算機(jī)只是種工具,是種達(dá)到目的的手段而已。他們有自己的生活并且有更要緊的事要做,我們承認(rèn)這點(diǎn),也從不指望每個(gè)人都對(duì)這些讓我們著迷的技術(shù)問(wèn)題感興趣。不過(guò),我們回答問(wèn)題的風(fēng)格是為了適應(yīng)那些真正對(duì)此有興趣并愿意主動(dòng)參與解決問(wèn)題的人,這一點(diǎn)不會(huì)變,也不該變。如果連這都變了,我們就會(huì)在自己能做得最好的事情上不再那么犀利。
我們(大多數(shù))是自愿者, 從自己繁忙的生活中抽時(shí)間來(lái)回答問(wèn)題,有時(shí)會(huì)力不從心。因此,我們會(huì)毫不留情地濾除問(wèn)題,特別是那些看起來(lái)象是失敗者提的,以便更有效地把回答問(wèn)題的時(shí)間留給那些勝利者。
如果你認(rèn)為這種態(tài)度令人反感、以施惠者自居或傲慢自大,請(qǐng)檢查你的假設(shè),我們并未要求你屈服──事實(shí)上,假如你做了該做的努力,我們中的大多數(shù)將非常樂(lè)意平等地與你交流,并歡迎你接納我們的文化。試圖去幫助那些不愿自救的人對(duì)我們簡(jiǎn)直沒(méi)有效率。不懂沒(méi)有關(guān)系,但愚蠢地做事不行。
所以,你不必在技術(shù)上很在行才能吸引我們的注意,但你必須表現(xiàn)出能引導(dǎo)你在行的姿態(tài)──機(jī)敏、有想法、善于觀察、樂(lè)于主動(dòng)參與問(wèn)題的解決。如果你做不到這些使你與眾不同的事情,我們建議你付錢跟別人簽商業(yè)服務(wù)合同,而不是要求黑客無(wú)償幫助。
如果你決定向我們求助,你不會(huì)想成為一名失敗者,你也不想被看成一個(gè)失敗者。得到快速有效回答的最好方法是使提問(wèn)者看起來(lái)象個(gè)聰明、自信和有想法的人,并且暗示只是碰巧在某一特別問(wèn)題上需要幫助。
(歡迎對(duì)本文指正,可以將建議發(fā)至 esr@thyrsus.com 或 respond-auto@linuxmafia.com。 請(qǐng)注意,本文不想成為一般性的網(wǎng)絡(luò)禮儀指南,我一般會(huì)拒絕那些與引出技術(shù)論壇中有用的回答不特別相關(guān)的建議。)
提問(wèn)前
在通過(guò)電郵、新聞組或論壇提技術(shù)問(wèn)題以前,做以下事情:
嘗試在你準(zhǔn)備提問(wèn)論壇的歷史文檔中搜索答案
嘗試搜索互聯(lián)網(wǎng)以找到答案
嘗試閱讀手冊(cè)以找到答案
嘗試閱讀“常見問(wèn)題文檔”(FAQ)以找到答案
嘗試自己檢查或試驗(yàn)以找到答案
嘗試請(qǐng)教懂行的朋友以找到答案
如果你是程序員,嘗試閱讀源代碼以找到答案
提問(wèn)時(shí),請(qǐng)先表明你已做了上述事情,這將有助于建立你不是寄生蟲與浪費(fèi)別人時(shí)間的印象。最好再表述你從中學(xué)到的東西 ,我們喜歡回答那些表現(xiàn)出能從答案中學(xué)習(xí)的人。
運(yùn)用某些策略,比如用谷歌(Google)搜索你遇到的各種錯(cuò)誤提示(既搜索谷歌論壇,也搜索網(wǎng)頁(yè)), 這樣很可能直接就找到了解決問(wèn)題的文檔或郵件列表線索。 即使沒(méi)有結(jié)果,在郵件列表或新聞組尋求幫助時(shí)提一句“我在谷歌中搜過(guò)下列句子但沒(méi)有找到什么有用的東西” 也是件好事,至少它表明了搜索引擎不能提供哪些幫助。將搜索關(guān)鍵詞與你的問(wèn)題及可能的解決方案聯(lián)系起來(lái),還有助于引導(dǎo)其他有類似問(wèn)題的人。
別著急,不要指望幾秒鐘的谷歌搜索就能解決一個(gè)復(fù)雜的問(wèn)題。讀一下常見問(wèn)題文檔。在向?qū)<姨釂?wèn)之前,先向后靠靠放松一下,再思考一下問(wèn)題。相信我們,他們能從你的提問(wèn)看出你做了多少閱讀與思考,如果你是有備而來(lái),將更有可能得到解答。不要將所有問(wèn)題一股腦拋出,只因你的第一次搜索沒(méi)有結(jié)果(或者結(jié)果太多)。
認(rèn)真地思考,準(zhǔn)備好你的問(wèn)題。輕率的提問(wèn)只能得到輕率的回答,或者壓根沒(méi)有。在提問(wèn)時(shí),你越是表現(xiàn)出在此前做過(guò)思考與努力去解決自己的問(wèn)題,你越有可能得到真正的幫助。
注意別提錯(cuò)問(wèn)題。如果提問(wèn)基于錯(cuò)誤的假設(shè),某黑客多半會(huì)一邊想 “愚蠢的問(wèn)題……”,一邊按將錯(cuò)就錯(cuò)的答案回復(fù)你,并且希望這種只是得到你自己“問(wèn)的問(wèn)題”而非真正所需的解答,給你一個(gè)教訓(xùn)。
永遠(yuǎn)不要假設(shè)你有資格得到解答。你沒(méi)有這種資格,畢竟你沒(méi)有為此服務(wù)付費(fèi)。如果你能夠提出有內(nèi)容、有趣和激勵(lì)思考的問(wèn)題——那種毫無(wú)疑問(wèn)能夠向社區(qū)貢獻(xiàn)經(jīng)驗(yàn),而不僅僅是消極地要求從別人那獲取知識(shí)的問(wèn)題,你將“掙到”答案。
另一方面,表明你有能力也樂(lè)意參與問(wèn)題的解決是個(gè)很好的開端。“有沒(méi)有人能指?jìng)€(gè)方向?”,“我這還差點(diǎn)什么?”,“我應(yīng)該查哪個(gè)網(wǎng)站?”,通常要比 “請(qǐng)給出我可以用的完整步驟”更容易得到回復(fù),因?yàn)槟惚砻髁酥灰腥四苤競(jìng)€(gè)方向,你就很樂(lè)意完成剩下的過(guò)程。
提問(wèn)時(shí)
仔細(xì)挑選論壇
要對(duì)在哪提問(wèn)留心,如果你做了下述事情,多半會(huì)被一筆勾銷或被看成“失敗者”:
張貼與論壇主題無(wú)關(guān)的問(wèn)題
在面向高級(jí)技術(shù)問(wèn)題的論壇上張貼膚淺的問(wèn)題,或者反之。
在太多不同的新聞組同時(shí)張貼
給既非熟人也沒(méi)有義務(wù)解決你問(wèn)題的人發(fā)送你私人的電郵
為保護(hù)通信的渠道不被無(wú)關(guān)的東西淹沒(méi),黑客會(huì)除掉那些沒(méi)有找對(duì)地方的問(wèn)題,你不會(huì)想讓這種事落到自己頭上的。
因此,第一步是找對(duì)論壇。谷歌和其它搜索引擎還是你的朋友,可以用它們搜索你遇到困難的軟硬件問(wèn)題最相關(guān)的項(xiàng)目網(wǎng)站。那里通常都有項(xiàng)目的常見問(wèn)題(FAQ)、郵件列表及文檔的鏈接。如果你的努力(包括閱讀 FAQ)都沒(méi)有結(jié)果,這些郵件列表就是最后能取得幫助的地方。項(xiàng)目的網(wǎng)站也許還有報(bào)告臭蟲的流程或鏈接,如果是這樣,去看看。
向陌生的人或論壇發(fā)送郵件極有可能是在冒險(xiǎn)。譬如,不要假設(shè)一個(gè)內(nèi)容豐富的網(wǎng)頁(yè)的作者想充當(dāng)你的免費(fèi)顧問(wèn),不要對(duì)你的問(wèn)題是否會(huì)受到歡迎做太樂(lè)觀的估計(jì)——如果你不確定,向別處發(fā)或者壓根別發(fā)。
在選擇論壇、新聞組或郵件列表時(shí),別太相信名字,先看看 FAQ 或者許可書以明確你的問(wèn)題是否切題。發(fā)貼前先翻翻已有的帖子,這樣可以讓你感受一下那里行事的方式。事實(shí)上,張貼前在新聞組或郵件列表的歷史文檔中搜索與你問(wèn)題相關(guān)的關(guān)鍵詞是個(gè)極好的主意,也許就找到答案了。即使沒(méi)有,也能幫助你歸納出更好的問(wèn)題。
別象機(jī)關(guān)槍似的一次性“掃射”所有的幫助渠道,這就象大喊大叫一樣會(huì)令人不快,溫柔地一個(gè)一個(gè)來(lái)。
弄懂主題!最典型的錯(cuò)誤之一是在某種致立于跨平臺(tái)可移植的語(yǔ)言、庫(kù)或工具的論壇中提關(guān)于 Unix 或 Windows 操作系統(tǒng)程序接口的問(wèn)題。如果你不明白為什么這是大錯(cuò),最好在搞清楚概念前什么也別問(wèn)。
一般來(lái)說(shuō),在仔細(xì)挑選的公共論壇中提問(wèn)比在私有論壇中提同樣的問(wèn)題更容易得到有用的回答。有幾個(gè)道理支持這點(diǎn),一是看潛在的回復(fù)者有多少,二是看論壇的參與者有多少,黑客更愿回答能啟發(fā)多數(shù)人的問(wèn)題。
可以理解,老練的黑客和一些流行軟件的作者正在承受過(guò)多的不當(dāng)消息。就象那根最后壓垮駱駝背的稻草一樣,你的加入也有可能使情況走向極端——已經(jīng)好幾次了,一些流行軟件的作者退出了對(duì)自己軟件的支持,因?yàn)榘殡S而來(lái)的涌入其私人郵箱的垃圾郵件變得無(wú)法忍受。
面向新手的論壇和互聯(lián)網(wǎng)中繼聊天(IRC)通常響應(yīng)最快
本地的用戶組織或者你所用的 Linux 發(fā)行版也許正在宣傳新手取得幫助的論壇或 IRC 通道(在一些非英語(yǔ)國(guó)家,新手論壇很可能還是郵件列表),這些地方是開始提問(wèn)的好去處,特別是當(dāng)你覺(jué)得遇到的也許只是相對(duì)簡(jiǎn)單或者很普通的問(wèn)題時(shí)。經(jīng)過(guò)宣傳的 IRC 通道是公開邀請(qǐng)?zhí)釂?wèn)的地方,通常可以得到實(shí)時(shí)的回復(fù)。
事實(shí)上,如果出問(wèn)題的程序來(lái)自某發(fā)行版(這很常見),最好先去該發(fā)行版的論壇或郵件列表中提問(wèn),再到程序本身的項(xiàng)目論壇或郵件列表,(否則)該項(xiàng)目的黑客可能僅僅回復(fù)“用我們的代碼”。
在任何論壇發(fā)貼以前,先看看有沒(méi)有搜索功能。如果有,就試著用問(wèn)題的幾個(gè)關(guān)鍵詞搜索一下,也許就有幫助。如果在此之前你已做過(guò)全面的網(wǎng)頁(yè)搜索(你應(yīng)該這樣去做),還是再搜索一下論壇,搜索引擎有可能沒(méi)來(lái)得及索引此論壇的全部?jī)?nèi)容。
通過(guò)論壇或 IRC 通道提供項(xiàng)目的用戶支持有增長(zhǎng)的趨勢(shì),電子郵件交流則更多地為項(xiàng)目開發(fā)者保留。所以先在論壇或 IRC 中尋求與該項(xiàng)目相關(guān)的幫助。
第二步,使用項(xiàng)目的郵件列表
當(dāng)某個(gè)項(xiàng)目存在開發(fā)者郵件列表時(shí),要向列表而不是其中的個(gè)別成員提問(wèn),即使你確信他能最好地回答你的問(wèn)題。查一查項(xiàng)目的文檔和主頁(yè),找到項(xiàng)目的郵件列表并使用它。采用這種辦法有幾個(gè)很好的理由:
向個(gè)別開發(fā)者提的問(wèn)題(如果)足夠好,也將對(duì)整個(gè)項(xiàng)目組有益。相反,如果你認(rèn)為自己的問(wèn)題對(duì)整個(gè)項(xiàng)目組來(lái)說(shuō)太愚蠢,這也不能成為騷擾個(gè)別開發(fā)者的理由。
向列表提問(wèn)可以分散開發(fā)者的負(fù)擔(dān),個(gè)別開發(fā)者(尤其是項(xiàng)目領(lǐng)導(dǎo))也許太忙以至于沒(méi)法回答你的問(wèn)題。
大多數(shù)郵件列表都要存檔,那些存檔將被搜索引擎索引,如果你向列表提問(wèn)并得到解答,將來(lái)其它人可以通過(guò)網(wǎng)頁(yè)搜索找到你的問(wèn)題和答案,也就不用再次發(fā)問(wèn)了。
如果某些問(wèn)題經(jīng)常被問(wèn)到,開發(fā)者可以利用此信息改進(jìn)文檔或軟件本身,以使其更清楚。如果只是私下提問(wèn),就沒(méi)有人能看到最常見問(wèn)題的完整場(chǎng)景。
如果一個(gè)項(xiàng)目既有 “用戶” 也有“開發(fā)者”(或 “黑客”)郵件列表或論壇,而你又不擺弄那些代碼,向“用戶”列表或論壇提問(wèn)。不要假設(shè)自己會(huì)在開發(fā)者列表中受到歡迎,那些人多半會(huì)遭受你的噪音干擾。
然而,如果你確信你的問(wèn)題不一般,而且在“用戶” 列表或論壇中幾天都沒(méi)有回復(fù),可以試試“開發(fā)者”列表或論壇。建議你在張貼前最好先暗暗地觀察幾天以了解那的行事方式(事實(shí)上這是參與任何私有或半私有列表的好主意)
如果你找不到一個(gè)項(xiàng)目的郵件列表,而只能查到項(xiàng)目維護(hù)者的地址,只管向其發(fā)信。即便在這種情況下,也別假設(shè)(項(xiàng)目)郵件列表不存在。在你的電子郵件中陳述你已經(jīng)試過(guò)但沒(méi)有找到合適的郵件列表,也提及你不反對(duì)將自己的郵件轉(zhuǎn)發(fā)給他人(許多人認(rèn)為,即使沒(méi)什么秘密,私人電子郵件也不應(yīng)該被公開。通過(guò)允許將你的電子郵件轉(zhuǎn)發(fā)他人,你給了相應(yīng)人員處置你郵件的選擇)。
使用有意義且明確的主題
在郵件列表、新聞組或論壇中,主題是你在五十個(gè)或更少的字以內(nèi)吸引有資格專家注意的黃金機(jī)會(huì),不要用諸如 “請(qǐng)幫我” (更別提大寫的 “請(qǐng)幫我!!!!”,這種主題的消息會(huì)被條件反射式地刪掉)之類的嘮叨浪費(fèi)機(jī)會(huì)。不要用你痛苦的深度來(lái)打動(dòng)我們,相反,要在這點(diǎn)空間中使用超級(jí)簡(jiǎn)明扼要的問(wèn)題描述。
使用主題的好慣例是“對(duì)象——偏差”(式的描述),許多技術(shù)支持組織就是這樣做的。在“對(duì)象”部分指明是哪一個(gè)或哪一組東西有問(wèn)題,在“偏差”部分則描述與期望的行為不一致的地方。
愚蠢:
救命啊!我的筆記本視頻工作不正常!
明智:X.org 6.8.1 扭曲鼠標(biāo)光標(biāo),MV1005 型號(hào)的某顯卡芯片組
更明智:
使用 MV1005 型號(hào)的某顯卡芯片組在 X.org 6.8.1 的鼠標(biāo)光標(biāo)被扭曲
編寫 “對(duì)象——偏差”式描述的過(guò)程有助于你組織對(duì)問(wèn)題的細(xì)致思考。是什么被影響了??jī)H僅是鼠標(biāo)光標(biāo)或者還有其它圖形?只在 X.org 中出現(xiàn)?或只是在其 6.8.1 版中?是針對(duì)某顯卡芯片組?或者只是其中的 MV1005 型號(hào)?一個(gè)黑客只需描一眼就能夠立即明白什么是你遇到的問(wèn)題,什么是你自己的問(wèn)題。
更一般地,想象一下在一個(gè)只顯示主題的文檔索引中查找。讓你的主題更好地反映問(wèn)題,可以使下一個(gè)搜索類似問(wèn)題的人能夠在文檔中直接就找到答案的線索,而不用再次發(fā)貼提問(wèn)。
如果你想在回復(fù)中提問(wèn),確保改變主題以表明你是在問(wèn)一個(gè)問(wèn)題,一個(gè)主題象 “Re: 測(cè)試” 或者 “Re: 新臭蟲”的消息不太可能引起足夠的注意。同時(shí),將回復(fù)中與新主題不甚相關(guān)的引用內(nèi)容盡量刪除。
對(duì)于列表消息,不要直接點(diǎn)擊回復(fù)(按鈕)來(lái)開始一個(gè)全新的線索,這將限制你的觀眾。有些郵件閱讀程序,比如 mutt,允許用戶按線索排序并通過(guò)折疊線索來(lái)隱藏消息,這樣做的人永遠(yuǎn)看不到你發(fā)的消息。
僅僅改變主題還不夠。mutt 和其它一些郵件閱讀程序還要檢查郵件頭主題以外的其它信息,以便為其指定線索,所以寧可發(fā)一個(gè)全新的郵件。
在論壇,因?yàn)橄⑴c特定的線索緊密結(jié)合,并且通常在線索之外不可見,好的提問(wèn)方式略有不同,通過(guò)回復(fù)提問(wèn)并不要緊。不是所有論壇都允許在回復(fù)中出現(xiàn)分離的主題,而且這樣做了基本上沒(méi)有人會(huì)去看。不過(guò),通過(guò)回復(fù)提問(wèn)本身就是令人懷疑的做法,因?yàn)樗鼈冎粫?huì)被正在查看該線索的人讀到。所以,除非你只想 在該線索當(dāng)前活躍的人群中提問(wèn),還是另起爐灶比較好。
使問(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í)得到電子郵件提醒,可以要求論壇發(fā)送。幾乎所有論壇都支持諸如“留意本線索”、“有回復(fù)發(fā)送郵件”等功能。
用清晰、語(yǔ)法、拼寫正確的語(yǔ)句書寫
經(jīng)驗(yàn)告訴我們,粗心與草率的作者通常也粗心與草率地思考和編程(我敢打賭)。為這些粗心與草率的思考者回答問(wèn)題沒(méi)有什么好處,我們寧可將時(shí)間花在其它地方。
清楚、良好地表達(dá)你的問(wèn)題非常重要。如果你覺(jué)得這樣做麻煩,我們也覺(jué)得注意(你的問(wèn)題)麻煩。花點(diǎn)額外的精力斟酌一下字句,用不著太僵硬與正式——事實(shí)上,黑客文化很看重能準(zhǔn)確地使用非正式、俚語(yǔ)和幽默的語(yǔ)句。但它必須很準(zhǔn)確,而且有跡象表明你是在思考和關(guān)注問(wèn)題。
正確地拼寫、使用標(biāo)點(diǎn)和大小寫,不要將“its”混淆為“it's”,“loose”搞成“lose”或者將“discrete”弄成 “discreet”。不要全部用大寫,這會(huì)被視為無(wú)禮的大聲嚷嚷 (全部小寫也好不到哪去,因?yàn)椴灰组喿x。Alan Cox [注:著名黑客,Linux 內(nèi)核的重要參與者] 也許可以這樣做,但你不行。)
一般而言,如果你寫得象個(gè)半文盲似的傻子,多半得不到理睬。也不要使用即時(shí)通訊中的簡(jiǎn)寫,如將“you”簡(jiǎn)化為“u”會(huì)使你看起來(lái)象一個(gè)為了節(jié)約二次擊鍵的半文盲式的傻子。更糟的是,如果象個(gè)小孩似地鬼畫桃符那絕對(duì)是在找死,可以肯定沒(méi)人會(huì)理你(或者最多是給你一大堆指責(zé)與挖苦)。
如果在非母語(yǔ)論壇提問(wèn),你的拼寫與語(yǔ)法錯(cuò)誤會(huì)得到有限的寬容,但懶惰完全不會(huì)被容忍(是的,我們通常看得出其中的差別)。同時(shí),除非你知道回復(fù)者使用的語(yǔ)言,請(qǐng)使用英語(yǔ)書寫。繁忙的黑客一般會(huì)直接刪除用他們看不懂語(yǔ)言寫的消息。在互聯(lián)網(wǎng)上英語(yǔ)是工作語(yǔ)言,用英語(yǔ)書寫可以將你的問(wèn)題不被閱讀就被直接刪除的可能性降到最低。
使用易于讀取且標(biāo)準(zhǔn)的文件格式發(fā)送問(wèn)題
如果你人為地將問(wèn)題搞得難以閱讀,它多半會(huì)被忽略,人們更愿讀易懂的問(wèn)題,所以:
使用純文本而不是 HTML(超文本標(biāo)注語(yǔ)言)( 關(guān)閉HTML并不難)
使用 MIME(多用途互聯(lián)網(wǎng)郵件擴(kuò)展)附件通常沒(méi)有問(wèn)題,前提是真正有內(nèi)容(譬如附帶的源文件或補(bǔ)丁),而不僅僅是郵件客戶端程序生成的模板(譬如只是消息內(nèi)容的拷貝)。
不要發(fā)送整段只是單行句子但多次折回的郵件(這使得回復(fù)部分內(nèi)容非常困難)。設(shè)想你的讀者是在80個(gè)字符寬的文本終端閱讀郵件,設(shè)置你的行折回點(diǎn)小于 80 列。
但是,也不要用任何固定列折回?cái)?shù)據(jù)(譬如日志文件拷貝或會(huì)話記錄)。數(shù)據(jù)應(yīng)該原樣包含,使回復(fù)者確信他們看到的是與你看到的一樣的東西。
在英語(yǔ)論壇中,不要使用 'Quoted-Printable' MIME 編碼發(fā)送消息。這種編碼對(duì)于張貼非 ASCII 語(yǔ)言可能是必須的,但很多郵件程序并不支持。當(dāng)它們分?jǐn)鄷r(shí),那些文本中四處散布的 “=20”符號(hào)既難看也分散注意力,甚至有可能破壞內(nèi)容的語(yǔ)意。
永遠(yuǎn)不要指望黑客們閱讀使用封閉的專用格式編寫的文檔,諸如微軟公司的 Word 或 Excel 文件等。大多數(shù)黑客對(duì)此的反應(yīng)就象有人將還在冒熱氣的豬糞倒在你門口時(shí)你的反應(yīng)一樣。即使他們能夠處理,也很厭惡這么做。
如果你從使用視窗的電腦發(fā)送電子郵件,關(guān)閉微軟愚蠢的“聰明引用”功能,以免在你的郵件中到處散布垃圾字符。
在論壇,勿濫用“表情符號(hào)”和“HTML”功能(當(dāng)它們提供時(shí))。一兩個(gè)表情符號(hào)通常沒(méi)有問(wèn)題,但花哨的彩色文本傾向于使人認(rèn)為你是個(gè)無(wú)能之輩。過(guò)濫地使用表情符號(hào)、色彩和字體會(huì)使你看來(lái)象個(gè)傻笑的小姑娘。這通常不是個(gè)好主意,除非你只是對(duì)性而不是有用的回復(fù)更有興趣。
如果你使用圖形用戶界面的郵件客戶端程序(如網(wǎng)景公司的 Messenger、微軟公司的 Outlook 或者其它類似的),注意它們的缺省配置不一定滿足這些要求。大多數(shù)這類程序有基于菜單的“查看源碼”命令,用它來(lái)檢查發(fā)送文件夾中的消息,以確保發(fā)送的是沒(méi)有多余雜質(zhì)的純文本文件。
描述問(wèn)題應(yīng)準(zhǔn)確且有內(nèi)容
仔細(xì)、清楚地描述問(wèn)題的癥狀
描述問(wèn)題發(fā)生的環(huán)境(主機(jī)、操作系統(tǒng)、應(yīng)用程序,任何相關(guān)的),提供銷售商的發(fā)行版和版本號(hào)(如:“Fedora Core 7”、“Slackware 9.1”等)
描述提問(wèn)前做過(guò)的研究及其理解。
描述提問(wèn)前為確定問(wèn)題而采取的診斷步驟。
描述最近對(duì)計(jì)算機(jī)或軟件配置的任何相關(guān)改變。
如果可能,提供在可控環(huán)境下重現(xiàn)問(wèn)題的方法。
盡最大努力預(yù)測(cè)黑客會(huì)提到的問(wèn)題,并提前備好答案。
如果你認(rèn)為是代碼有問(wèn)題,向黑客提供在可控環(huán)境下重現(xiàn)問(wèn)題的方法尤其重要。當(dāng)你這么做時(shí),得到有用且及時(shí)回復(fù)的可能性將大大增加。
西蒙·泰瑟姆(Simon Tatham)寫過(guò)一篇 如何有效報(bào)告臭蟲 的文章,我強(qiáng)烈推薦各位閱讀。
量不在多,精煉則靈
你應(yīng)該(寫得)精煉且有內(nèi)容,簡(jiǎn)單地將一大堆代碼或數(shù)據(jù)羅列在求助消息中達(dá)不到目的。如果你有一個(gè)很大且復(fù)雜的測(cè)試樣例讓程序崩潰,嘗試將其裁剪得越小越好。
至少有三個(gè)理由支持這點(diǎn)。第一,讓別人看到你在努力簡(jiǎn)化問(wèn)題使你更有可能得到回復(fù)。第二,簡(jiǎn)化問(wèn)題使你更有可能得到有用的回復(fù)。第三,在提純臭蟲報(bào)告的過(guò)程中,你可能自己就找到了解決辦法或權(quán)宜之計(jì)。
別急于宣稱找到臭蟲
當(dāng)你在一個(gè)軟件中遇到問(wèn)題,除非你非常、非常的有根據(jù),不要?jiǎng)虞m聲稱找到了臭蟲。提示:除非你能提供解決問(wèn)題的源代碼補(bǔ)丁,或者對(duì)前一版本的回歸測(cè)試表現(xiàn)出不正確的行為,否則你都多半不夠完全確信。對(duì)于網(wǎng)頁(yè)和文檔也如此,如果你(聲稱)發(fā)現(xiàn)了文檔的“臭蟲”,你應(yīng)該能提供相應(yīng)位置的替代文本。
記住,還有許多其它用戶并未經(jīng)歷你遇到的問(wèn)題,否則你在閱讀文檔或搜索網(wǎng)頁(yè)時(shí)就應(yīng)該發(fā)現(xiàn)了(你在報(bào)怨前已經(jīng)做了這些,是吧 ?)。這也意味著很有可能是你弄錯(cuò)了而不是軟件本身有問(wèn)題。
編寫軟件的人總是非常辛苦地使它盡可能完美。如果你聲稱找到了臭蟲,也就置疑了他們的能力,即使你是對(duì)的,也有可能會(huì)使其中的部分人感到不快。(此外,)在主題中嚷嚷“臭蟲”也是特別不老練的。
提問(wèn)時(shí),即使你私下非常確信已經(jīng)發(fā)現(xiàn)一個(gè)真正的臭蟲,最好寫得象是你做錯(cuò)了什么。如果真的有臭蟲,你會(huì)在回復(fù)中看到這點(diǎn)。這樣做的話,如果真有蟲子,維護(hù)者就會(huì)向你道歉,這總比你弄砸了然后欠別人一個(gè)道歉要強(qiáng)。
低聲下氣代替不了做自己的家庭作業(yè)
有些人明白他們不應(yīng)該粗魯或傲慢地行事并要求得到答復(fù),但他們退到相反的低聲下氣的極端:“我知道我只是個(gè)可憐的新丁,一個(gè)失敗者,但……”。這既使人困擾,也沒(méi)有用,當(dāng)伴隨著對(duì)實(shí)際問(wèn)題含糊的描述時(shí)還特別令人反感。
別用低級(jí)靈長(zhǎng)類動(dòng)物的辦法浪費(fèi)你我的時(shí)間,相反,盡可能清楚地描述背景情況和你的問(wèn)題,這比低聲下氣更好地?cái)[正了你的位置。
有時(shí),論壇設(shè)有單獨(dú)的初學(xué)者提問(wèn)版面,如果你真的認(rèn)為遇到了膚淺的問(wèn)題,到那去就是了,但一樣別低聲下氣。
描述問(wèn)題癥狀而不是猜測(cè)
告訴黑客是什么導(dǎo)致了問(wèn)題是沒(méi)用的(如果你的診斷理論是了不起的東西,你還會(huì)向別人咨詢求助嗎?)。所以,確保只是告訴他們問(wèn)題的原始癥狀,而不是你的解釋和理論,讓他們來(lái)解釋和診斷。如果你認(rèn)為陳述自己的猜測(cè)很重要,應(yīng)清楚地說(shuō)明這只是你的猜測(cè)并描述為什么它們不起作用。
愚蠢:我在編譯內(nèi)核時(shí)接連遇到 SIG11 錯(cuò)誤,懷疑主板上的某根電路絲斷了,找到它們的最好辦法是什么?
明智:我組裝的電腦(K6/233 CPU、FIC-PA2007 主板[威盛 Apollo VP2 芯片組]、Corsair PC133 SDRAM 256Mb 內(nèi)存)最近在開機(jī) 20 分鐘左右、做內(nèi)核編譯時(shí)頻繁地報(bào) SIG11 錯(cuò),但在頭 20 分鐘內(nèi)從不出問(wèn)題。重啟動(dòng)不會(huì)復(fù)位時(shí)鐘,但整夜關(guān)機(jī)會(huì)。更換所有內(nèi)存未解決問(wèn)題,相關(guān)的典型編譯會(huì)話日志附后。
由于以上這點(diǎn)許多人似乎難以掌握,這里有句話可以提醒你:“所有的診斷專家都來(lái)自密蘇里州”。美國(guó)國(guó)務(wù)院的官方座右銘則是“讓我看看”(出自國(guó)會(huì)議員威勒德.D.范迪弗[Willard D. Vandiver]在1899年時(shí)的講話:“我來(lái)自一個(gè)出產(chǎn)玉米、棉花、牛蒡和民主黨人的國(guó)家,滔滔雄辯既不能說(shuō)服我,也不會(huì)讓我滿意。我來(lái)自密蘇里州,你必須讓我看看。”)針對(duì)診斷者而言,這并不是懷疑,而只是一種真實(shí)而有用的需求,以便讓他們看到與你看到的原始證據(jù)盡可能一致的東西,而不是你的猜測(cè)與總結(jié)。(所以,)讓我們看看。
按時(shí)間先后羅列問(wèn)題癥狀
剛出問(wèn)題之前發(fā)生的事情通常包含有解決問(wèn)題最有效的線索。所以,記錄中應(yīng)準(zhǔn)確地描述你、電腦和軟件在崩潰前都做了什么。在命令行處理的情況下,有會(huì)話日志(如運(yùn)行腳本工具生成的)并引用相關(guān)的若干(如20)行記錄會(huì)非常有幫助。
如果崩潰的程序有診斷選項(xiàng)(如-v詳述開關(guān)),試著選擇這些能在記錄中增加排錯(cuò)信息的選項(xiàng)。記住,“多”不等于“好”。試著選取適當(dāng)?shù)呐佩e(cuò)級(jí)別以便提供有用的信息而不是將閱讀者淹沒(méi)在垃圾中。
如果你的記錄很長(zhǎng)(如超過(guò)四段),在開頭簡(jiǎn)述問(wèn)題隨后按時(shí)間先后羅列詳細(xì)過(guò)程也許更有用。這樣,黑客在讀你的記錄時(shí)就知道該注意哪些內(nèi)容了。
描述目標(biāo)而不是過(guò)程
如果你想弄清楚如何做某事(而不是報(bào)告一個(gè)臭蟲),在開頭就描述你的目標(biāo),然后才陳述遇到問(wèn)題的特定步驟。
經(jīng)常出現(xiàn)這種情況,尋求技術(shù)幫助的人在腦袋里有個(gè)更高層次的目標(biāo),他們?cè)谧砸詾槟苓_(dá)到目標(biāo)的特定道路上被卡住了,然后跑來(lái)問(wèn)該怎么走,但沒(méi)有意識(shí)到這條路本身有問(wèn)題,結(jié)果要費(fèi)很大的勁才能通過(guò)。
愚蠢:我怎樣才能讓某圖形程序的顏色拾取器取得十六進(jìn)制的 RGB 值?
明智:我正試著用自己選定數(shù)值的顏色替換一幅圖片的色表,我現(xiàn)在知道的唯一方法是編輯每個(gè)表槽,但卻無(wú)法讓某圖形程序的顏色拾取器取得十六進(jìn)制的 RGB 值。
第二種提法是明智的,它使得建議采用更合適的工具以完成任務(wù)的回復(fù)成為可能。
別要求私下回復(fù)電郵
黑客們認(rèn)為問(wèn)題的解決過(guò)程應(yīng)該公開、透明,此過(guò)程中如果更有才能的人注意到不完整或者不當(dāng)之處,最初的回復(fù)才能夠、也應(yīng)該被糾正。同時(shí),作為回復(fù)者也因?yàn)槟芰蛯W(xué)識(shí)被其它同行看到而得到某種回報(bào)。
當(dāng)你要求私下回復(fù)時(shí),此過(guò)程和回報(bào)都被中止。別這樣做,讓回復(fù)者來(lái)決定是否私下回答——如果他真這么做了,通常是因?yàn)樗J(rèn)為問(wèn)題編寫太差或者太膚淺,以至于對(duì)其它人毫無(wú)意義。
對(duì)這條規(guī)則存在一條有限的例外,如果你確信提問(wèn)可能會(huì)引來(lái)大量雷同的回復(fù)時(shí),那么“向我發(fā)電郵,我將為論壇歸納這些回復(fù)”將是神奇的句子。試著將郵件列表或新聞組從洪水般雷同的回復(fù)中解救出來(lái)是非常有禮貌的──但你必須信守諾言。
提問(wèn)應(yīng)明確
漫無(wú)邊際的問(wèn)題通常也被視為沒(méi)有明確限制的時(shí)間無(wú)底洞。最有可能給你有用答案的人通常也是最忙的人(假如只是因?yàn)樗麄兂袚?dān)了太多工作的話),這些人對(duì)于沒(méi)有止境的時(shí)間無(wú)底洞極其敏感,所以他們也傾向于討厭那些漫無(wú)邊際的問(wèn)題。
如果你明確了想讓回復(fù)者做的事(如指點(diǎn)方向、發(fā)送代碼、檢查補(bǔ)丁或其它),你更有可能得到有用的回復(fù)。(因?yàn)椋┻@樣可以讓他們集中精力并間接地設(shè)定了他們?yōu)閹椭阈枰ㄙM(fèi)的時(shí)間和精力上限,這很好。
要想理解專家生活的世界,可以這樣設(shè)想:那里有豐富的專長(zhǎng)資源但稀缺的響應(yīng)時(shí)間。你暗中要求他們奉獻(xiàn)的時(shí)間越少,你越有可能從這些真正懂行也真正很忙的專家那里得到解答。
所以限定你的問(wèn)題以使專家回答時(shí)需要付出的時(shí)間最少——這通常與簡(jiǎn)化問(wèn)題還不太一樣。舉個(gè)例,“請(qǐng)問(wèn)可否指點(diǎn)一下哪有好一點(diǎn)的 X 解釋?”通常要比“請(qǐng)解釋一下 X”明智。如果你的代碼不運(yùn)行了,通常請(qǐng)別人看看哪有問(wèn)題比叫他們幫你改正更明智。
關(guān)于代碼的問(wèn)題
別要求他人給你出問(wèn)題的代碼排錯(cuò)而不提及應(yīng)該從何入手。張貼幾百行的代碼,然后說(shuō)一聲“它不能運(yùn)行”會(huì)讓你得不到理睬。只貼幾十行代碼,然后說(shuō)一句“在第七行以后,本應(yīng)該顯示<x>,但實(shí)際出現(xiàn)的是<y>”非常有可能讓你得到回復(fù)。
最精確描述代碼問(wèn)題的方法是提供一個(gè)能展示問(wèn)題的最小測(cè)試樣例。什么是最小測(cè)試樣例?它是對(duì)問(wèn)題的展現(xiàn),只需要?jiǎng)偤媚軌蛑噩F(xiàn)非預(yù)期行為的代碼即可。如何生成一個(gè)最小測(cè)試樣例?如果你知道哪一行或哪一段代碼會(huì)產(chǎn)生問(wèn)題,將其復(fù)制并提供剛好夠用的外圍支撐代碼以構(gòu)成一個(gè)完整的樣例(夠用是指源碼剛好能被編譯器、解釋器或任何處理它的程序所接受)。如果你不能將問(wèn)題縮小到特定的段落,復(fù)制源碼并去除那些與問(wèn)題無(wú)關(guān)的代碼段。你能提供的最小測(cè)試樣例越小越好。
生成一個(gè)非常小的最小測(cè)試樣例并不總是可能,但盡力去做是很好的鍛練,這有可能幫助你找到需要自己解決的問(wèn)題。即使你找不到,黑客們喜歡看到你努力過(guò),這將使他們更合作。
如果你只是想讓別人幫忙審一下代碼,在最開頭就要說(shuō)出來(lái),并且一定要提到你認(rèn)為哪一部分特別需要關(guān)注以及為什么。
別張貼家庭作業(yè)式問(wèn)題
黑客們善于發(fā)現(xiàn)“家庭作業(yè)”式的問(wèn)題。我們中的大多數(shù)人已經(jīng)做了自己的家庭作業(yè),那是該你做的,以便從中學(xué)到東西。問(wèn)一下提示沒(méi)有關(guān)系,但不是要求完整的解決方案。
如果你懷疑自己碰到了一個(gè)家庭作業(yè)式的問(wèn)題,但仍然無(wú)法解決,試試在用戶組、論壇或(作為最后一招)在項(xiàng)目的“用戶”郵件列表或論壇中提問(wèn)。盡管黑客們會(huì) 看出來(lái),一些老用戶也許仍會(huì)給你提示。
刪除無(wú)意義的要求
抵制這種誘惑,即在求助消息末尾加上諸如“有人能幫我嗎?”或“有沒(méi)有答案?”之類在語(yǔ)義上毫無(wú)意義的東西。第一,如果問(wèn)題描述還不完整,這些附加的東西最多也只能是多余的。第二,因?yàn)樗鼈兪嵌嘤嗟模诳蛡儠?huì)認(rèn)為這些東西煩人——就很有可能用邏輯上無(wú)誤但打發(fā)人的回復(fù),諸如“是的,你可以得到幫助”和“不,沒(méi)有給你的幫助”。
一般來(lái)說(shuō),避免提“是或否”類型的問(wèn)題,除非你想得到 “是或否”類型的回答。
不要把問(wèn)題標(biāo)記為“緊急”, 即使對(duì)你而言的確如此
這是你的問(wèn)題,不要我們的。宣稱“緊急”極有可能事與愿違:大多數(shù)黑客會(huì)直接刪除這種消息,他們認(rèn)為這是無(wú)禮和自私地企圖得到即時(shí)與特殊的關(guān)照。
有一點(diǎn)點(diǎn)局部的例外,如果你是在一些知名度很高、會(huì)使黑客們激動(dòng)的地方使用程序,也許值得這樣去做。在這種情況下,如果你有期限壓力,也很有禮貌地提到這點(diǎn),人們也許會(huì)有足夠的興趣快一點(diǎn)回答。
當(dāng)然,這是非常冒險(xiǎn)的,因?yàn)楹诳蛡儗?duì)什么是令人激動(dòng)的標(biāo)準(zhǔn)多半與你的不同。譬如從國(guó)際空間站這樣張貼沒(méi)有問(wèn)題,但代表感覺(jué)良好的慈善或政治原因這樣做幾乎肯定不行。事實(shí)上,張貼諸如“緊急:幫我救救這個(gè)毛絨絨的小海豹!”肯定會(huì)被黑客回避或光火,即使他們認(rèn)為毛絨絨的小海豹很重要。
如果你覺(jué)得這不可思議,再把剩下的內(nèi)容多讀幾遍,直到弄懂了再發(fā)貼也不遲。
禮貌總是有益的
禮貌一點(diǎn),使用“請(qǐng)”和“謝謝你的關(guān)注”或者“謝謝你的關(guān)照”,讓別人明白你感謝他們無(wú)償花時(shí)間幫助你。
坦率地講,這一點(diǎn)沒(méi)有語(yǔ)法正確、文字清晰、準(zhǔn)確、有內(nèi)容和避免使用專用格式重要(同時(shí)也不能替代它們)。黑客們一般寧可讀有點(diǎn)唐突但技術(shù)鮮明的臭蟲報(bào)告,而不是那種有禮但含糊的報(bào)告。(如果這點(diǎn)讓你不解,記住我們是按問(wèn)題能教我們什么來(lái)評(píng)價(jià)它的)
然爾,如果你已經(jīng)談清楚了技術(shù)問(wèn)題,客氣一點(diǎn)肯定會(huì)增加你得到有用回復(fù)的機(jī)會(huì)。
(我們必須指出,本文唯一受到一些老黑客認(rèn)真反對(duì)的地方是以前曾經(jīng)推薦過(guò)的“提前謝了”,一些黑客認(rèn)為這隱含著事后不用再感謝任何人的暗示。我們的建議是要么先說(shuō) “提前謝了”,事后再對(duì)回復(fù)者表示感謝,要么換種方式表達(dá),譬如用“謝謝你的關(guān)注”或“謝謝你的關(guān)照”)。
問(wèn)題解決后追加一條簡(jiǎn)要說(shuō)明
問(wèn)題解決后向所有幫助過(guò)的人追加一條消息,讓他們知道問(wèn)題是如何解決的并再次感謝。如果問(wèn)題在郵件列表或新聞組中受到廣泛關(guān)注,在那里追加此消息比較恰當(dāng)。
最理想的方式是向最初提問(wèn)的線索回復(fù)此消息,并在主題中包含“已解決”、“已搞定”或其它同等含義的明顯標(biāo)記。在人來(lái)人往的郵件列表里,一個(gè)看見線索 “問(wèn)題 X”和“問(wèn)題 X-已解決”的潛在回復(fù)者就明白不用再浪費(fèi)時(shí)間了(除非他個(gè)人覺(jué)得“問(wèn)題 X”有趣),因此可以利用此時(shí)間去解決其它問(wèn)題。
追加的消息用不著太長(zhǎng)或太復(fù)雜,一句簡(jiǎn)單的“你好——是網(wǎng)線壞了!謝謝大家——比爾”就比什么都沒(méi)有要強(qiáng)。事實(shí)上,除非解決問(wèn)題的技術(shù)真正高深,一條簡(jiǎn)短而親切的總結(jié)比長(zhǎng)篇大論要好。說(shuō)明是什么行動(dòng)解決了問(wèn)題,用不著重演整個(gè)排錯(cuò)的故事。
對(duì)于有深度的問(wèn)題,張貼排錯(cuò)歷史的摘要是恰當(dāng)?shù)摹C枋鰡?wèn)題的最終狀態(tài),說(shuō)明是什么解決了問(wèn)題,在此之后 才指明可以避免的彎路。應(yīng)避免的彎路部分應(yīng)放在正確的解決方案和其它總結(jié)材料之后,而不要將此消息搞成偵探推理小說(shuō)。列出那些幫助過(guò)你的名字,那樣你會(huì)交到朋友的。
除了有禮貌、有內(nèi)容以外,這種類型的追帖將幫助其他人在郵件列表、新聞組或論壇文檔中搜索到真正解決你問(wèn)題的方案,從而也讓他們受益。
最后,此類追帖還讓每位參與協(xié)助的人因問(wèn)題的解決而產(chǎn)生一種滿足感。如果你自己不是技術(shù)專家或黑客,相信我們,這種感覺(jué)對(duì)于你尋求幫助的老手和專家是非常重要的。問(wèn)題敘述到最后不知所終總是令人沮喪的,黑客們癢癢地渴望它們被解決。“撓癢癢”為你掙到的信譽(yù)將對(duì)你下次再次張貼提問(wèn)非常非常的有幫助。
考慮一下怎樣才能避免他人將來(lái)也遇到類似的問(wèn)題,問(wèn)問(wèn)自己編一份文檔或 FAQ 補(bǔ)丁會(huì)不會(huì)有幫助,如果是的話就將補(bǔ)丁發(fā)給維護(hù)者。
在黑客中,這種良好的后繼行動(dòng)實(shí)際上比傳統(tǒng)的禮貌更重要,也是你善待他人而贏得聲譽(yù)的方式,這是非常有價(jià)值的財(cái)富。
如何解讀回答
“讀讀該死的手冊(cè)”(RTFM)和“搜搜該死的網(wǎng)絡(luò)”(STFW):如何明白你已完全搞砸
有一個(gè)古老而神圣的傳統(tǒng):如果你收到“讀讀該死的手冊(cè)”(RTFM) 的回復(fù),發(fā)信人認(rèn)為你應(yīng)該去“讀讀該死的手冊(cè)”。他或她多半是對(duì)的,去讀一下吧。
“讀讀該死的手冊(cè)”(RTFM)有個(gè)年輕一點(diǎn)的親戚,如果你收到“搜搜該死的網(wǎng)絡(luò)”(STFW)的回復(fù),發(fā)信人認(rèn)為你應(yīng)該“搜搜該死的網(wǎng)絡(luò)”。那人多半也是對(duì)的,去搜一下吧。(更溫和一點(diǎn)的說(shuō)法是“谷歌是你的朋友!”)
在論壇,你也可能被要求去搜索論壇的文檔。事實(shí)上,有人甚至可能熱心地為你提供以前解決此問(wèn)題的線索。但不要依賴這種關(guān)照,提問(wèn)前應(yīng)該先搜索一下文檔。
通常,叫你搜索的人已經(jīng)打開了能解決你問(wèn)題的手冊(cè)或網(wǎng)頁(yè),正在一邊看一邊敲鍵盤。這些回復(fù)意味著他認(rèn)為:第一,你要的信息很容易找到。第二,自已找要比別人喂到嘴里能學(xué)得更多。
你不應(yīng)該覺(jué)得這樣就被冒犯了,按黑客的標(biāo)準(zhǔn),回復(fù)者沒(méi)有不理你就是在向你表示某種尊敬,你反而應(yīng)該感謝他熱切地想幫助你。
如果還不明白……
如果你看不懂回答,不要馬上回復(fù)一個(gè)要求說(shuō)明的消息,先試試那些最初提問(wèn)時(shí)用過(guò)的相同工具(如手冊(cè)、FAQ、網(wǎng)頁(yè)、懂行的朋友等)試著搞懂回答。如果還是需要說(shuō)明,展現(xiàn)你已經(jīng)明白的。
譬如,假如我告訴你:“看起來(lái)象是某輸入項(xiàng)有問(wèn)題,你需要清除它”,接著是個(gè)不好的回帖:“什么是某輸入項(xiàng)?”。而這是一個(gè)很好的跟帖:“是的,我讀了手冊(cè),某某輸入項(xiàng)只在 -z 和 -p 開關(guān)中被提到,但都沒(méi)有涉及到如何清除它們,你指的是哪一個(gè)還是我弄錯(cuò)了什么?”
對(duì)待無(wú)禮
很多黑客圈子中看似無(wú)禮的行為并不是存心冒犯。相反,它是直接了當(dāng)、一針見血式的交流風(fēng)格,這種風(fēng)格對(duì)于更關(guān)注解決問(wèn)題而不是使別人感覺(jué)舒服而混亂的人是很自然的。
如果你覺(jué)得被冒犯了,試著平靜地反應(yīng)。如果有人真的做了過(guò)格的事,郵件列表、新聞組或論壇中的前輩多半會(huì)招呼他。如果這沒(méi)有發(fā)生而你卻光火了,那么你發(fā)火對(duì)象的言語(yǔ)可能在黑客社區(qū)中看起來(lái)是正常的,而你 將被視為有錯(cuò)的一方,這將傷害到你獲取信息或幫助的機(jī)會(huì)。
另一方面,你會(huì)偶而真的碰到無(wú)禮和無(wú)聊的言行。與上述相反,對(duì)真正的冒犯者狠狠地打擊、用犀利的語(yǔ)言將其駁得體無(wú)完膚都是可以接受的。然爾,在行事之前一定要非常非常的有根據(jù)。糾正無(wú)禮的言論與開始一場(chǎng)毫無(wú)意義的口水戰(zhàn)僅一線之隔,黑客們自己莽撞地越線的情況并不鮮見。如果你是新手或外來(lái)者,避開這種莽撞的機(jī)會(huì)并不高。如果你想得到的是信息而不是消磨時(shí)光,這時(shí)最好不要把手放在鍵盤上以免冒險(xiǎn)。
(有些人斷言很多黑客都有輕度的自閉癥或阿斯伯格綜合癥,缺少用于潤(rùn)滑人類社會(huì)“正常”交往所需的腦電路。這既可能是真也可能是假。如果你自己不是黑客,興許你認(rèn)為我們腦袋有問(wèn)題還能幫助你應(yīng)付我們的古怪行為。只管這么干好了,我們不在乎。我們喜歡 現(xiàn)在這個(gè)樣子,并且一般都對(duì)病號(hào)標(biāo)記有站得住腳的懷疑。)
在下一節(jié),我們會(huì)談到另一個(gè)問(wèn)題,當(dāng)你 行為不當(dāng)時(shí)會(huì)受到的“冒犯”。
別象失敗者那樣反應(yīng)
在黑客社區(qū)的論壇中有那么幾次你可能會(huì)搞砸──以本文描述或類似的方式。你會(huì)被示眾是如何搞砸的,也許言語(yǔ)中還會(huì)帶點(diǎn)顏色。
這種事發(fā)生以后,你能做的最糟糕的事莫過(guò)于哀嚎你的遭遇、宣稱被口頭攻擊、要求道歉、高聲尖叫、憋悶氣、威脅訴諸法律、向其雇主報(bào)怨、忘了關(guān)馬桶蓋等等。相反,你該這樣去做:
熬過(guò)去,這很正常。事實(shí)上,它是有益健康與恰當(dāng)?shù)摹?/p>
社區(qū)的標(biāo)準(zhǔn)不會(huì)自己維持,它們是通過(guò)參與者積極而公開地執(zhí)行來(lái)維持的。不要哭嚎所有的批評(píng)都應(yīng)該通過(guò)私下的郵件傳送,這不是事情運(yùn)作的方式。當(dāng)有人評(píng)論你的一個(gè)說(shuō)法有誤或者提出不同看法時(shí),堅(jiān)持聲稱受到個(gè)人攻擊也毫無(wú)益處,這些都是失敗者的態(tài)度。
也有其它的黑客論壇,受過(guò)高禮節(jié)要求的誤導(dǎo),禁止參與者張貼任何對(duì)別人帖子挑毛病的消息,并聲稱“如果你不想幫助用戶就閉嘴”。有思路的參與者紛紛離開的結(jié)果只會(huì)使它們變成了毫無(wú)意義的嘮叨與無(wú)用的技術(shù)論壇。
是夸張的“友誼”(以上述方式)還是有用?挑一個(gè)。
記著:當(dāng)黑客說(shuō)你搞砸了,并且(無(wú)論多么刺耳地)告訴你別再這樣做時(shí),他正在為關(guān)心你和他的社區(qū)而行動(dòng)。對(duì)他而言,不理你并將你從他的生活中濾除要容易得多。如果你無(wú)法做到感謝,至少要有點(diǎn)尊嚴(yán),別大聲哀嚎,也別因?yàn)樽约菏莻€(gè)有戲劇性超級(jí)敏感的靈魂和自以為有資格的新來(lái)者,就指望別人象對(duì)待脆弱的洋娃娃那樣對(duì)你。
有時(shí)候,即使你沒(méi)有搞砸(或者只是別人想象你搞砸了), 有些人也會(huì)無(wú)緣無(wú)故地攻擊你本人。在這種情況下,報(bào)怨倒是真的會(huì)把問(wèn)題搞砸。
這些找茬者要么是毫無(wú)辦法但自以為是專家的不中用家伙,要么就是測(cè)試你是否真會(huì)搞砸的心理專家。其它讀者要么不理睬,要么用自己的方式對(duì)付他們。這些找茬者在給自己找麻煩,這點(diǎn)你不用操心。
也別讓自己卷入口水戰(zhàn),大多數(shù)口水戰(zhàn)最好不要理睬——當(dāng)然,是在你核實(shí)它們只是口水戰(zhàn)、沒(méi)有指出你搞砸的地方,而且沒(méi)有巧妙地將問(wèn)題真正的答案藏于其中之后(這也是可能的)。
提問(wèn)禁忌
下面是些典型的愚蠢問(wèn)題和黑客不回答它們時(shí)的想法。
問(wèn):我到哪可以找到某程序或 X 資源?;問(wèn):我怎樣用 X 做 Y?;問(wèn):如何配置我的 shell 提示?;問(wèn):我可以用 Bass-o-matic 文件轉(zhuǎn)換工具將 AcmeCorp 文檔轉(zhuǎn)為 TeX 格式嗎?;問(wèn):我的{程序、配置、SQL 語(yǔ)句}不運(yùn)行了;問(wèn):我的視窗電腦出問(wèn)題了,你能幫忙嗎?;問(wèn):我的程序不運(yùn)行了,我認(rèn)為系統(tǒng)工具X有問(wèn)題;問(wèn):我安裝 Linux 或 X 遇到困難,你能幫忙嗎?;問(wèn):我如何才能破解超級(jí)用戶口令/盜取通道操作員的特權(quán)/查看某人的電子郵件?。
問(wèn): | 我到哪可以找到某程序或 X 資源? |
答: | 在我找到它的同樣地方,笨旦──在網(wǎng)頁(yè)搜索引擎上。上帝啊,難道還有人不知道如何使用 谷歌 嗎? |
問(wèn): | 我怎樣用 X 做 Y? |
答: | 如果你想解決的是 Y,提問(wèn)時(shí)別給出可能并不恰當(dāng)?shù)姆椒ā_@種問(wèn)題說(shuō)明提問(wèn)者不但對(duì) X 完全無(wú)知,也對(duì)要解決的 Y 問(wèn)題糊涂,還被特定形勢(shì)禁錮了思維。等他們把問(wèn)題弄好再說(shuō)。 |
問(wèn): | 如何配置我的 shell 提示? |
答: | 如果你有足夠的智慧提這個(gè)問(wèn)題,你也該有足夠的智慧去 “讀讀該死的手冊(cè)”(RTFM),然后自己去找出來(lái)。 |
問(wèn): | 我可以用 Bass-o-matic 文件轉(zhuǎn)換工具將 AcmeCorp 文檔轉(zhuǎn)為 TeX 格式嗎? |
答: | 試試就知道了。如果你試過(guò),你既知道了答案,又不用浪費(fèi)我的時(shí)間了。 |
問(wèn): | 我的{程序、配置、SQL 語(yǔ)句}不運(yùn)行了 |
答: | 這不是一個(gè)問(wèn)題,我也沒(méi)有興趣去猜你有什么問(wèn)題──我有更要緊的事要做。看到這種東西,我的反應(yīng)一般如下:
|
問(wèn): | 我的視窗電腦出問(wèn)題了,你能幫忙嗎? |
答: | 是的,把視窗垃圾刪了,裝個(gè)象 Linux 或 BSD 的開源操作系統(tǒng)吧。 注意:如果程序有官方的視窗版或者與視窗有交互(如 Samba),你可以 問(wèn)與視窗相關(guān)的問(wèn)題,只是別對(duì)問(wèn)題是由視窗操作系統(tǒng)而不是程序本身造成的回復(fù)感到驚訝,因?yàn)橐暣耙话銇?lái)說(shuō)太差,這種說(shuō)法一般都成立。 |
問(wèn): | 我的程序不運(yùn)行了,我認(rèn)為系統(tǒng)工具 X 有問(wèn)題 |
答: | 你完全有可能是第一個(gè)注意到被成千上萬(wàn)用戶反復(fù)使用的系統(tǒng)調(diào)用與庫(kù)文件有明顯缺陷的人,更有可能的是你完全沒(méi)有根據(jù)。不同凡響的說(shuō)法需要不同凡響的證據(jù),當(dāng)你這樣聲稱時(shí),你必須有清楚而詳盡的缺陷說(shuō)明文檔作后盾。 |
問(wèn): | 我安裝 Linux 或 X 遇到困難,你能幫忙嗎? |
答: | 不行,我需要親手操作你的電腦才能幫你排錯(cuò),去向當(dāng)?shù)氐?Linux 用戶組尋求方便的幫助(你可以在 這里 找到用戶組列表) 注意:如果安裝問(wèn)題與某 Linux 發(fā)行版有關(guān),在針對(duì)它 的郵件列表、論壇或本地用戶組織中提問(wèn)也許是恰當(dāng)?shù)摹4藭r(shí),應(yīng)描述問(wèn)題的準(zhǔn)確細(xì)節(jié)。在此之前,先用 “linux”和所有 被懷疑的硬件 [作關(guān)鍵詞] 仔細(xì)搜索。 |
問(wèn): | 我如何才能破解超級(jí)用戶口令/盜取通道操作員的特權(quán)/查看某人的電子郵件? |
答: | 想做這種事情說(shuō)明你是個(gè)卑劣的家伙,想讓黑客教你做這種事情說(shuō)明你是個(gè)白癡。 |
好問(wèn)題與壞問(wèn)題
最后,我將通過(guò)舉例來(lái)演示提問(wèn)的智慧。同樣的問(wèn)題兩種提法,一種愚蠢,另一種明智。
愚蠢:我在哪能找到關(guān)于 Foonly Flurbamatic 設(shè)備的東西?
這個(gè)問(wèn)題在乞求得到 “搜搜該死的網(wǎng)絡(luò)”(STFW) 式的回復(fù)。
明智: 我用谷歌搜索過(guò)“Foonly Flurbamatic 2600”,但沒(méi)有找到什么有用的,有誰(shuí)知道在哪能找到這種設(shè)備的編程信息?
這個(gè)人已經(jīng)搜索過(guò)網(wǎng)絡(luò)了,而且聽起來(lái)他可能真的遇到了問(wèn)題。
愚蠢: 我不能編譯某項(xiàng)目的源代碼,它為什么這么破?
提問(wèn)者假設(shè)是別人搞砸了,太自大了。
明智: 某項(xiàng)目的源代碼不能在某 Linux 6.2 版下編譯。我讀了常見問(wèn)題文檔,但其中沒(méi)有與某 Linux 相關(guān)的內(nèi)容。這是編譯時(shí)的記錄,我做錯(cuò)了什么嗎?
提問(wèn)者已經(jīng)指明了運(yùn)行環(huán)境,讀了常見問(wèn)題文檔(FAQ),列出了錯(cuò)誤,也沒(méi)有假設(shè)問(wèn)題是別人的過(guò)錯(cuò),這家伙值得注意。
愚蠢: 我的主板有問(wèn)題,誰(shuí)能幫我?
某黑客對(duì)此的反應(yīng)可能是:“是的,還需要幫你拍背和換尿布嗎?”,然后是敲下刪除鍵。
明智: 我在 S2464 主板上試過(guò) X、Y 和 Z,當(dāng)它們都失敗后,又試了 A、B 和 C。注意我試 C 時(shí)的奇怪癥狀,顯然某某東西正在做某某事情,這不是期望的行為。通常在 Athlon MP 主板上導(dǎo)致某某事情的原因是什么?有誰(shuí)知道我還能再試點(diǎn)什么以確定問(wèn)題?
相反地,這個(gè)人看來(lái)值得回答。他或她展現(xiàn)了解決問(wèn)題的能力而不是坐等天上掉餡餅。
在最后那個(gè)問(wèn)題中,注意“給我一個(gè)回答”與“請(qǐng)幫我看看我還能再做點(diǎn)什么測(cè)試以得到啟發(fā)”之間細(xì)微但重要的差別。
事實(shí)上,最后那個(gè)問(wèn)題基本上源于 2001 年 8 月 Linux 內(nèi)核郵件列表(lkml)上的真實(shí)事件,是我(Eric)當(dāng)時(shí)提了那個(gè)問(wèn)題,我發(fā)現(xiàn) Tyan S2462 主板有神秘的死機(jī)現(xiàn)象,郵件列表成員給我提供了解決此問(wèn)題的關(guān)鍵信息。
通過(guò)這種提問(wèn)方式,我給了別人可以咀嚼玩味的東西。我設(shè)法使之對(duì)參與者既輕松又有吸引力,也表明了對(duì)同行能力的尊敬并邀請(qǐng)他們與我一起協(xié)商。通過(guò)告訴他們我已經(jīng)走過(guò)的彎路,我還表明了對(duì)他們寶貴時(shí)間的尊重。
事后,當(dāng)我感謝大家并評(píng)論這次良好的經(jīng)歷時(shí),一個(gè) Linux 內(nèi)核郵件列表的成員談到,他認(rèn)為我得到答案并不是因?yàn)槲业拿謷煸诹斜砩希皇且驗(yàn)槲艺_的提問(wèn)方式。
黑客們?cè)谀撤N方面是非常不留情面的精英分子。我想在這事上他是對(duì)的,如果我表現(xiàn)得 象個(gè)不勞而獲的寄生蟲,不管我是誰(shuí)都會(huì)被忽略或斥責(zé)。他建議將整個(gè)事件作為對(duì)其它人提問(wèn)的指導(dǎo),這直接導(dǎo)致了本文的編寫。
如果得不到回答
如果得不到回答,請(qǐng)不要認(rèn)為我們不想幫你,有時(shí)只是因?yàn)楸粏?wèn)到的小組成員的確不知道答案。沒(méi)有回復(fù)不等于不被理睬,當(dāng)然必須承認(rèn)從外面很難看出兩者的差別。
一般而言,直接將問(wèn)題再?gòu)堎N一次不好,這會(huì)被視為毫無(wú)意義的騷擾。耐心一點(diǎn),知道你問(wèn)題答案的人可能生活在不同的時(shí)區(qū),有可能正在睡覺(jué),也有可能你的問(wèn)題一開始就沒(méi)有組織好。
還有其它資源可以尋求幫助,通常是在一些面向新手的資源中。
有許多在線與本地的用戶組織,雖然它們自己不編寫任何軟件,但是對(duì)軟件很熱心。這些用戶組通常因互助和幫助新手而形成。
還有眾多大小商業(yè)公司提供簽約支持服務(wù)(紅帽與 SpikeSource 是兩家最出名的,還有許多其它的)。別因?yàn)橐饵c(diǎn)錢才有支持就感到沮喪!畢竟,如果你車子的汽缸墊燒了,你多半還得花錢找個(gè)修理店把它弄好。即使軟件沒(méi)花你一分錢,你總不能指望服務(wù)支持都是免費(fèi)的。
象 Linux 這樣流行的軟件,每個(gè)開發(fā)者至少有一萬(wàn)個(gè)以上的用戶,一個(gè)人不可能應(yīng)付這么多用戶的服務(wù)要求。記住,即使你必須付費(fèi)才能得到支持,也比你還得額外花錢買軟件要少得多(而且對(duì)封閉源代碼軟件的服務(wù)支持與開源軟件相比通常還要貴一點(diǎn),也要差一點(diǎn))。
如何更好地回答
態(tài)度和善一點(diǎn)。問(wèn)題帶來(lái)的壓力常使人顯得無(wú)禮或愚蠢,其實(shí)并不是這樣。
對(duì)初犯者私下回復(fù)。對(duì)那些坦誠(chéng)犯錯(cuò)之人沒(méi)有必要當(dāng)眾羞辱,一個(gè)真正的新手也許連怎么搜索或在哪找 FAQ 都不知道。
如果你不確定,一定要說(shuō)出來(lái)!一個(gè)聽起來(lái)權(quán)威的錯(cuò)誤回復(fù)比沒(méi)有還要糟,別因?yàn)槁犉饋?lái)象個(gè)專家好玩就給別人亂指路。要謙虛和誠(chéng)實(shí),給提問(wèn)者與同行都樹個(gè)好榜樣。
如果幫不了忙,別妨礙。不要在具體步驟上開玩笑,那樣也許會(huì)毀了用戶的安裝——有些可憐的呆瓜會(huì)把它當(dāng)成真的指令。
探索性的反問(wèn)以引出更多的細(xì)節(jié)。如果你做得好,提問(wèn)者可以學(xué)到點(diǎn)東西——你也可以。試試將很差的問(wèn)題轉(zhuǎn)變成好問(wèn)題,別忘了我們都曾是新手。
盡管對(duì)那些懶蟲報(bào)怨一聲“讀讀該死的手冊(cè)”(RTFM)是正當(dāng)?shù)模赋鑫臋n的位置(即使只是建議做個(gè)谷歌關(guān)鍵詞搜索)會(huì)更好
如果你決意回答,給出好的答案。當(dāng)別人正在用錯(cuò)誤的工具或方法時(shí)別建議笨拙的權(quán)宜之計(jì),應(yīng)推薦更好的工具,重新組織問(wèn)題。
幫助你的社區(qū)從中學(xué)習(xí)。當(dāng)回復(fù)一個(gè)好問(wèn)題時(shí),問(wèn)問(wèn)自己 “如何修改相關(guān)文件或 FAQ 文檔以免再次解答同樣的問(wèn)題?”,接著再向文檔維護(hù)者發(fā)一份補(bǔ)丁。
如果你是在研究一番后才做出的回答,展現(xiàn)你的技巧而不是直接端出結(jié)果。畢竟“授人以魚,不如授人以漁”。
相關(guān)資源
如果需要個(gè)人電腦、Unix 和互聯(lián)網(wǎng)如何工作的基礎(chǔ)知識(shí),參閱 Unix 和互聯(lián)網(wǎng)工作的基本原理。
當(dāng)你發(fā)布軟件或補(bǔ)丁時(shí),試著按 軟件發(fā)布實(shí)踐 操作。
鳴謝
伊夫林.米切爾(Evelyn Mitchell)貢獻(xiàn)了一些愚蠢問(wèn)題例子并啟發(fā)了編寫“如何更好地回答問(wèn)題”這一節(jié),米哈伊爾.羅門迪克(Mikhail Ramendik)貢獻(xiàn)了一些特別有價(jià)值的建議和改進(jìn)。
it知識(shí)庫(kù):提問(wèn)的智慧,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。