电竞比分网-中国电竞赛事及体育赛事平台

分享

如何更聰明的提問問題?

 長(zhǎng)沙7喜 2018-01-16

【回復(fù)“1024”,送你一個(gè)特別推送】

最近看了一篇文章,深有感觸,決定寫一下自己的感受,因?yàn)槲乙步?jīng)常遇到這樣的困擾,那就是很多人加我個(gè)人微信號(hào),給我發(fā)郵件等提問問題。但是提問人問問題的水平真的是太差勁了,決定寫一篇文章,聊一聊如何更好的提問問題,以及更加容易獲得被提問者的答案。

其實(shí),很多人可能不知道,提問者渴望得到別人的答案,更多的取決于你提問問題的方式和你提問問題的難度?,F(xiàn)在開源已經(jīng)很普遍,在 GitHub 上開源的庫不計(jì)其數(shù),但是可能每個(gè)人開源的庫,并不能完完全全滿足使用者的需求,或多或少可能有些差距,需要使用者自行查看源碼修改,也或許開源庫本身存在某種 Bug,所以很多人可能會(huì)提 Issues ,或者給開源者發(fā)送郵件,提問問題。

也有很多博主寫了很多技術(shù)博客,分享了很多技術(shù)文章,在關(guān)于界面留下了自己的聯(lián)系方式,而很多看文章的程序員或者讀者讀完文章可能不明白,也可能按照博主的思路,并沒有實(shí)現(xiàn)自己想要的效果,出問題了,報(bào)錯(cuò)了,這時(shí),可能就會(huì)給博主發(fā)郵件,留言問問題了。

但是,很多問的問題并沒有等到回復(fù)或者答案,其實(shí)大多數(shù)原因是提問的方式和問題的難度不對(duì)。

首先要理解的是,技術(shù)大牛們實(shí)際上喜歡棘手的,發(fā)人深省的一些問題,如果這個(gè)問題足夠有趣,作為技術(shù)極客肯定會(huì)引起好奇心去解決的。好的問題是一種刺激和一種禮物。好的問題能幫助他們發(fā)現(xiàn)問題,提高他們的理解和能力,而且有可能會(huì)揭示他們可能沒有注意到的問題。要知道,在咱們程序員的眼中,“問得好”這也是一種強(qiáng)烈而真誠(chéng)的贊美。

不知道你們有沒有這樣的感受,就是當(dāng)一個(gè)初學(xué)者或者不是特別熟悉的人,向你問一個(gè)特別簡(jiǎn)單的問題時(shí),你有沒有耐心回答呢?順口一問,你可能就就會(huì)順口一答,但是像這樣的初學(xué)者,會(huì)接下來再發(fā)問的,接二連三的來,你肯定就會(huì)很暴躁了,就猶如你回家過年,七大姑八大姨讓你這個(gè)程序員修電腦的感受差不多。

說實(shí)話,很多人來問你問題的時(shí)候,尤其是在開源社區(qū)里提問的時(shí)候,他們對(duì)你開源的庫的技術(shù)實(shí)現(xiàn)細(xì)節(jié)可能沒興趣,他們僅僅只是想使用罷了,但是呢,又不會(huì)完全使用或者完全讓他們滿意,然而他們只是把你的開源庫或者開源軟件當(dāng)做一種工具。這時(shí)候的提問,就顯得很蒼白了,因?yàn)檫@樣的人基本上不會(huì)提問出任何有價(jià)值的問題。正常的大部分技術(shù)人會(huì)喜歡并積極回答那些有興趣并且愿意積極參與解決問題的人的問題。

作為技術(shù)大神,極客,他們從繁忙的工作和生活中抽出時(shí)間來回答問題,有時(shí)會(huì)被這些問題壓垮,因?yàn)閱栴}很多,所以一切簡(jiǎn)單的問題,就會(huì)被無情的過濾。以便更有效地利用自己回答問題的時(shí)間。

所以啊,我們?cè)趩枂栴}的時(shí)候,可能沒有對(duì)他們開源的技術(shù)和軟件有足夠的關(guān)注,但我們有必要展示出一種態(tài)度,這種態(tài)度會(huì)導(dǎo)致我們的能力——警覺、體貼、善于觀察、愿意成為一個(gè)積極的合作伙伴來解決問題。以一種平等的方式來積極的探討問題,這種方式會(huì)讓你更容易獲得回復(fù),甚至是得到答案。

問問題之前

剛才說了,我們可能對(duì)技術(shù)沒那么強(qiáng),但是要有足夠的態(tài)度, 以一種平等的方式來積極的探討問題,這樣更容易得到答案,那如何準(zhǔn)備,才能讓你顯得是以一種平等的方式來探討問題呢?這就需要我們精心準(zhǔn)備了。

我認(rèn)為我們?cè)谔釂枂栴}之前,應(yīng)該做好以下幾種工作:

  1. 試著通過在技術(shù)社區(qū),論壇搜索你的問題找到答案。

  2. 試著通過 Google 等網(wǎng)絡(luò)搜索引擎找到答案。

  3. 試著通過閱讀手冊(cè)找到答案。

  4. 試著通過閱讀FAQ來找到答案。

  5. 試著通過 debug 或檢查來找到答案。

  6. 試著通過問一個(gè)相關(guān)方面經(jīng)驗(yàn)的朋友來找到答案。

  7. 試著通過閱讀源代碼來找到答案。

當(dāng)然了,如果你通過上面的七種手段已經(jīng)找到問題答案了,那么恭喜你,你已經(jīng)掌握了自己解決問題的能力,不用再去問那些技術(shù)大牛了。

當(dāng)我們?cè)趩枂栴}之前,首先要展示你已經(jīng)通過上述手段已經(jīng)為解決問題做了很多事情,這證明你不是一個(gè)懶惰,完全依賴別人,只會(huì)索取的人,而且你已經(jīng)做了很多工作,實(shí)在走投無路了,所以才迫不得已麻煩大神,技術(shù)大牛的。更好的是,展示你從做這些事情中學(xué)到的東西。技術(shù)大牛們喜歡回答那些已經(jīng)證明可以從答案中學(xué)習(xí)的人的問題。

比如:使用類似于 Google 搜索的方法來搜索你所得到的錯(cuò)誤信息,如果沒有找到問題答案,說“我用谷歌搜索了下面的短語,但沒有得到任何看起來有希望的東西”,把你的搜索的關(guān)鍵字得到的鏈接,在提問問題的郵件內(nèi)容中附件上,這樣也有利于技術(shù)專家,大牛們理解問題。認(rèn)真準(zhǔn)備問題,你做的越多,就越能證明你在尋求幫助之前已經(jīng)想方設(shè)法的在解決了,你就越有可能得到幫助。

而且花時(shí)間不要指望能用幾秒鐘的谷歌搜索就能解決一個(gè)復(fù)雜的問題。認(rèn)真理解問題,好好查找 FAQ ,坐下來,放松,在向?qū)<姨岢鰡栴}之前先思考一些問題。相信我,他們能夠從你的問題中分辨出你做了多少閱讀和思考,如果你準(zhǔn)備好了,他們會(huì)更愿意幫助你。這樣問題之前的準(zhǔn)備工作,可以讓你充分理解問題,也不至于問錯(cuò)問題。如果你問一個(gè)基于錯(cuò)誤假設(shè)的問題,那么將會(huì)得到一個(gè)毫無用處的回答。這僅僅只是得到你所要求的,而不是你所需要的,這將會(huì)給你一個(gè)教訓(xùn)。所以提問問題之前這些工作,不是無用了,對(duì)你也會(huì)很有幫助,也能讓你學(xué)到很多技術(shù)和知識(shí)。

另外,永遠(yuǎn)不要以為你有資格得到答案。畢竟,我們根本不需要為這項(xiàng)服務(wù)付費(fèi),如果得到了幫助更好,沒有得到幫助也不要抱怨。幫你是人情,不幫你是本分。

當(dāng)你問問題時(shí)

我們提問問題時(shí),最常用的一種方式就是在技術(shù)社區(qū)或者技術(shù)論壇發(fā)布自己的問題,迫不得已時(shí)可能會(huì)找技術(shù)大?;蛘邔<抑苯犹釂?。

技術(shù)社區(qū)

那么我們先來看第一種方式,我們一定要仔細(xì)選擇技術(shù)社區(qū)或者論壇。

首先,你選擇的技術(shù)社區(qū)和論壇一定要看有沒有流量,活躍率怎么樣?一定要在一個(gè)流量高,活躍好的專業(yè)技術(shù)社區(qū)發(fā)布問題。其次,問的問題,一定要有公共性,一般來說問一個(gè)具有公共性,普遍性的問題比一個(gè)私人問題更容易得到答案。因?yàn)榧夹g(shù)大牛們更愿意回答那些教育許多人的問題,而不是只提供少數(shù)人的問題。再次,提問問題時(shí),不要把社區(qū)內(nèi)所有的專題或者頻道都發(fā)一遍,那樣很容易引起別人的方案,反而不容易得到答案。最后,問的問題,在發(fā)布時(shí),要把關(guān)鍵字寫在標(biāo)題上,使用有意義的、特定的主題標(biāo)題。比如:

不要在社區(qū)上發(fā)布:我遇到了一個(gè)空指針bug,這樣的標(biāo)題沒有任何意義。

聰明的問法是這樣的:Socket 連接丟失導(dǎo)致 IO 流的 Java NullPointerException 。這樣的標(biāo)題的關(guān)鍵字是:NullPointerException,然后還有問題描述,這樣的問題清晰,也很容易引起大家的注意和興趣。

詳細(xì)的內(nèi)容方面,一定要把這個(gè) bug 產(chǎn)生的過程描述清楚,而且如果你想把 log 信息貼出來,那么一定要注意格式整齊,不要顯得那么亂,否則回答的人很容易暴躁的,本來想回答問題的,但是一看里面描述不清,代碼格式混亂,眼花繚亂,直接把回答問題的心情就搞沒了。

提問技術(shù)大牛

很多情況下,我們可能在看某一篇技術(shù)大牛的博客或者在 GitHub 上用某個(gè)大神的開源庫,但是沒看懂或者看明白,遇到了問題,正常情況下是在博客底下留言或者直接提 Issues 。但是有些程序員很著急,急需,這時(shí)候就有可能找到作者介紹,開始加他們的即時(shí)通訊工具或者私信,發(fā)郵件等找他們解決問題,這時(shí)候就要注意了,加他們的個(gè)人賬號(hào)好友,一次申請(qǐng)就行。很多人,一看沒馬上通過,就頻繁申請(qǐng),發(fā)送請(qǐng)求,這非常不禮貌,沒通過可能是在忙,沒在用,郵件回復(fù)不及時(shí)可能在忙,沒時(shí)間看。只有你著急的事,大神們不更忙嗎?要理解。

如果想要更容易得到答案,像技術(shù)大牛問問題,發(fā)郵件或者私聊的時(shí)候,一定要保持平等的對(duì)話,以探討問題的方式更好。為什么要這樣呢?我給大家舉個(gè)感同身受的例子,你們就會(huì)理解了。

你們大家肯定和測(cè)試打過交道吧。如果測(cè)試在測(cè)出 bug 的時(shí)候,會(huì)說:我發(fā)現(xiàn)了一個(gè)bug,點(diǎn)擊這里崩潰。你作為程序員的第一反應(yīng)是什么?你會(huì)說:不可能,肯定是你環(huán)境的問題。你會(huì)以各種理由,不承認(rèn)這個(gè) bug ,對(duì)不對(duì)?但是如果測(cè)試在哪里突然自言自語的說:點(diǎn)這里怎么崩潰了?是我的問題嗎?這時(shí),作為開發(fā)者你聽到后,肯定心里想:難道不成這里有 bug ,我一定要查一下看看。

明白了吧?這就是以探討的方式,平等對(duì)話。玩的都是心理套路。如果你遇到的問題,找技術(shù)大牛提問,私聊或者發(fā)郵件的時(shí)候,你這樣做,很容易得到答案:

  1. 把自己遇到的問題,在我說的上述七種手段基礎(chǔ)上認(rèn)真尋找答案,如果沒找到答案,就把相關(guān)的問題鏈接和你搜索到的答案整理一下。

  2. 把整理到的問題和你遇到的問題聯(lián)系一下,看看有沒有想通的地方,認(rèn)真理解一下遇到的問題,爭(zhēng)取提問的時(shí)候,別提問錯(cuò)了。

  3. 以探討的方式,提問問題,并描述清楚問題出現(xiàn)的前因后果,以及你為此付出的努力,把周邊搜索的內(nèi)容也整理發(fā)送過去。

以探討方式提問問題,舉個(gè)例子:

我在看你開源庫的時(shí)候,看到這里,這一段代碼的時(shí)候(然后貼上代碼片段,要整潔,格式化),感覺可能邏輯上出問題了,是我沒看明白嗎?如果你方便的時(shí)候,可以抽空看一下。如有不對(duì),請(qǐng)指正。

如果你是開源庫的作者,你收到這樣的郵件,會(huì)不會(huì)心里發(fā)問呢?這段代碼哪里錯(cuò)了,你就會(huì)趕緊去看看,看完了,自然就會(huì)回答提問者了。

你如果和作者私聊,一對(duì)一的溝通,肯定更得準(zhǔn)備充足了,因?yàn)槭翘接?,所以不要直接發(fā)問,感覺在求人。和大神探討,你有沒有為此付諸努力,一聊便能看出來。有些人很多簡(jiǎn)單的問題上來就問,明明一搜就有的答案還來問,肯定沒人浪費(fèi)時(shí)間去回答。自己沒有付諸努力就想著找捷徑,就是在浪費(fèi)別人的時(shí)間,這是自私。

看完這篇文章,就知道你問的問題為什么沒人回答了吧?記住:要學(xué)會(huì)聰明的提問問題。另外,記得給回答者說一聲謝謝

粉絲福利

掃描二維碼加入免費(fèi)的 Android 分享群,不定期會(huì)有 MVP 架構(gòu)設(shè)計(jì),NDK 音視頻解碼 Open GL,Open CV,AR 等免費(fèi)直播分享課。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多