圖說:智慧的提問

How To Ask Questions the Smart Way

1. 敬請:智慧的提問

How To Ask Questions the Smart Way

-- TopLanguage列表版本《提問的智慧》

嚴正參考: 如何向開源社區提問題 · Issue #545 · seajs/seajs

1.1. 圖說:提問的智慧

在你打算向某個論壇或者某個maillist請教時,請好好看看下面這張圖譜,呵呵。儘快提高自己的能力是也!

圖譜化理解::

question.jpeg

1.2. 菜鳥提問需知

速記
  1. 不要大喊大叫
  2. 使用一個好讀的呢稱
  3. 不要抱怨
  4. 語氣請低調
  5. 請幫助他人
  6. 尊重他人
全文

  對新人來說,最好的學習方式是:去找個DM,讓他手把手的教你。你會發現,這只不過是個遊戲而已,並不難學.
新手需要的不是160RMB的“精裝”PHB,而是一種態度——認真、熱情、嚴謹、謙虛,呃,還有好奇心和想象力,在這個快餐文化的時代,並不是人人都具有這些東西。
不要到IRC的公共頻道里去尋求幫助,那裏都是BT和爛人,他們最喜歡KUSO那些大喊大叫的新人-____-b

————哥布林詩人給新手的忠告
  • 以上文字採自最深的地下城,這是一個很上等的網站。在我做網遊開發的時候,經常去看。我想以後我還會重新回到那裏,畢竟我這種人對一個到處是坑的站點還是充滿親近感的。

  • 上面那段話,給我深刻的印象,因爲在國內的大多數IT社區,包括CSDN、Python中文,以及大大小小的QQ羣,小論壇等等,無不充滿了大喊大叫的新人。
  • 很不幸,那裏也遊蕩着各種不靠譜的BT和爛人……於是,我們每天都可以看到有無數的新人在抱怨對他們充滿敵意的惡劣環境,這樣的環境下,年輕人如何成材?中國如何有希望?等等等等……
  • 然而,實際上,初學者們不正確的交流方式,大大影響了他們得到幫助的機會。總結起來,以下幾種表現,幾乎是一定會被BT的。
    • 大喊大叫。特別是在QQ羣裏,使用過大的字體,過於鮮豔的顏色,都會嚴重影響閱讀。本來QQ默認的窗體尺寸就小,你放一堆二號字上去,何況又是鮮紅或嫩綠的二號字,讓人怎麼讀?技術交流首先要保證消息的可讀性,不要沒事兒走視覺系。要知道每天坐辦公室啃代碼的老傢伙們骨子裏跟非主流藝術青年八九是不搭界的。黑色或靛藍等傳統的書寫顏色可以讓人舒服的閱讀。
    • 使用一個不好讀的ID。這一點可能不太容易被人理解。然而如果你的ID別人都沒辦法念出來,大家就很難給你一個私密的回覆。與其說是技術原因,更多的是心理因素。理由同上。不要指望每天坐辦公室的老coder會跟你一樣喜歡玩兒非主流視覺系。事實上靠譜的老程序員們往往跟這幫子傢伙很不搭界。至少他們進入編碼的心理狀態時,是非常不喜歡看到一個花裏胡哨的傢伙跳出來在他面前畫火星文。我從來沒見過哪個靠譜的傢伙頂着一個火星文ID在IM上寫一堆鮮紅嫩綠的二號字初號字。這些人最多也就是在QQ或MSN的簽名上放幾個表情而已。我曾遇到一個非常悲慘的實例。有個朋友多年來一直因爲ID的問題在我們這個小圈子裏被人BT,事實上他的名字一個火星文都沒有,甚至也是一個合乎文法的名詞詞組。然而這個名字非常奇怪,念上幾遍就會讓人有想去抽他的衝動。於是大家不約而同的對他進行瘋狂的BT。好在這位兄臺有非常強健的神經,就像踩不死的小強一樣生存了下來,並且在這種互相精神攻擊的惡劣交流狀態下學習到了很多東西。他的頑強還表現在工作的風格上。事實上這些年來他解決了很多很BT的技術問題,寫出的代碼搞定了很多我看來完全發瘋的需求。就這一點,我是非常佩服他的學習精神、鑽研精神以及娛樂大衆的犧牲精神。爲此我就不告訴你們他的ID叫“想你的我”,因爲太難念,我們一致稱他爲水煮魚。另外我要說的是,如果你沒有水煮魚那種被人切成一片片還要丟進鍋裏水煮再澆上辣椒也不怕的精神,還是起一個正常點的,好唸的ID吧……事實上用自己真名的新人往往會得到比較親切的幫助,不信你試試?
    • 不要沒事兒就在公共地盤報怨沒有人幫助你。要知道在自由軟件社區幫助你的人,九成九都是義務勞動,他們還要犧牲自己的工作和休息時間。沒人欠你的。有個傢伙因爲五分鐘沒有人在QQ羣裏回答他的白癡問題,就開始大罵,於是他被我用各種方式羞辱了幾個星期。沒人會同情他。好吧,我不是一個心胸開闊的人。就是我這樣一個小心眼又虛榮的傢伙曾經在沒有任何報酬的情況下翻爛了一本牛津高階詞典來翻譯Python tutorial。這件事是我在失業的時候蜷縮在冬天冰冷的小屋裏完成的,而且五年來我還把這件傻事重複做了四遍,正準備做第五遍。如果你能做到同樣的程度,你也一樣有資格去BT那些亂喊亂叫的傢伙。如果你覺得應該支持比我更有RP的前輩,那可以無視我,請你去花錢買一本陳儒的Python源碼剖析,或者去吹捧一下ZQ、Limodou、黃冬這些爲大家做了很大貢獻的人(不知道他們是誰?你真的是Python中文社區的成員嗎?那你一定是新警察……)。
    • 儘量少問軟件破解的問題。我是說在自由軟件社區。我不想爭論道德高度的問題,這樣的問題已經討論過太多次了。我只想說,在自由軟件社區找人要破解版或註冊機,真的看起來很蠢。
    • 語氣請低調一些。趾高氣揚的菜鳥只會被加倍的BT。這一點不需要多解釋了,提醒一句:這個世界比你想像的NB的多。
    • 遇到一個厚道的解答者,請珍惜,不要把他當作垃圾桶,什麼白癡問題都丟過去問。學着自己解決問題永遠是一種美德。如果你是一位青春美少女,對方是一個單身的宅男coder,另當別論,看在他厚道的爲新人解答問題,任勞任怨的份上,嫁給他吧。
    • 儘量幫助和你一樣的菜鳥,不要BT他。這會使高階的人力資源得到更有效的利用。就好像不要總是在遊戲公會里請求頂級玩家幫你做新人任務一樣,其實找個高你5級的幫手就很豪華了。同樣你也應該多幫一幫比你更低級的玩家。
    • 被BT時,請先檢討自己是否使用了挑釁技能。對於一個小圈子,往往BT新人會是老鳥們的重要福利之一。亂湊熱鬧或者灌水過多,都有可能招致滅頂之災。在QQ羣裏發連鎖消息尤其愚蠢。如果被BT,請先不要回擊,通常來說,正是你這個新來的傢伙破壞了生態平衡。如果覺得留下來學習更重要,就閉上嘴巴,多聽少說。

1.3. IT行業人員的提問建議

裏面提到的兩個例子比較典型。另外後面有人評論中也給了一個例子。

1.3.1. 實例鬱問

  • 這幾天對幾個網友的請教方式頗感無奈。這裏舉2個實例:
    1. 有個網友因爲項目比較急,而且之前也沒有怎麼接觸過該項目的一些相關知識。正好我對這方面熟悉,於是找到我給出一些建議和提示。我大概知道了其要點,然後從頭到尾給出了一些架構和技術上的要點。我覺得憑這些應該沒有什麼大問題了。沒想到在未來幾天裏,該網友一直問我一些我已經解答過的問題。更意外的是同一問題問了至少5遍。我很鬱悶,就問了一句,你工作幾年了,他告訴我4-5年。我不再說什麼了。如果工作4-5年,按照我的理解是不應該有這樣的情況的。
    2. 另外一個網友因爲一個小問題卡住了。我說了一下我的想法。他說他以前也做過,沒有問題,而且特別堅持自己的意見。最後我只能說可以試一試我的建議。一個禮拜之後,他看見我,問我同樣的問題,我驚詫道,"你還沒有解決嗎?"。他說還沒有。我繼續把我的建議重複了一遍。他過了一會高興的回答我說可以了。

在上面的2個實例中,我感概太多了。

  • 針對第一件事情,我覺得至少存在以下方面的問題:

   1. 做事情太着急了
   2. 應該有把握整個project的能力
   3. 應該能夠控制自己的心態
   4. 問問題之前最好總結一下,或者是思考一下人家給你的提示。不要一二再再二三的去問同一個問題大於3次。
  • 對於工作4-5年的人,已經培養了自己解決問題,分析問題的方法。而且在把握一個項目上應該有一定的經驗。冷靜思考,沉着應對,都是現在浮躁的環境必須要有的。這些技能和心態和技術沒有直接的關係。對中國的IT業,我一直認爲是比較浮躁的。在這樣的環境下,難道不能有自己的做事風格來行走着浮躁之面上嗎?
  • 針對第二件事情,我覺得可以這麼理解:

   1. 每個做IT人骨子裏或多或少都自以爲是,包括我自己也是。請教別人時還是那樣
   2. 既然自己沒有解決,何不試一試別人的建議呢,也許會給你帶來意想不到收穫。
   3. 多聽聽人家的意見或建議,對自己是有幫助的。放下一些不必要的面子。
  • 如果堅持自己是對的,又不肯聽從人家意見,那你問人家幹嘛呢?
  • 對待學習,對待工作,我們確實應該保持自信,但這絕不是自以爲是。虛心請教他人,聽取別人意見,在整個過程中我們會學到不少東西。別總以爲自己是對的,每個人的知識面和知識的掌握程度都是有限的,這樣自己的理解出現偏差和錯誤在所難免。
  • 從另外一個角度上講,我們在處理學習和工作上,應該知道一件事情如何去做,如何以什麼樣的心態去做。對於一個工作4-5年的人出現上面的情況我覺得實在不應該。這樣的情況在剛工作時存在。隨着自己的閱歷增長,在態度,方式上都會逐漸成熟,都會有自己的一套方法。這些方法在面對一些複雜事情,未熟悉事情都是有幫助的。

1.3.2. Service Is Living 建議

所以我的想法是:

   1. 戒浮戒躁,踏踏實實做事情
   2. 謙虛,自信,不是自以爲是
   3. 有自己的做事風格,包括工作方式和心態。
   4. 沉着,冷靜,從大局考慮。
   5. 做事情(例如向別人請教)前自己先做好必要的準備,想想。
   6. 態度
   7. 溝通。 

上面的情況中,我是否真的讓人家明白了,也許自己以爲說清楚了。後來我也開始有些着急了,我心裏還是告誡自己應該平和一些。儘管有些做的不好,我也一直按照上面的思路做。 轉幾個評論:

  • #23樓 2008-09-10 11:28 李勝攀

"做事情(例如向別人請教)前自己先做好必要的準備,想想。" 這一點很重要 我記得很多次別人問我問題時,我都會讓他把問題詳細描述一遍,結果到最後,不用我回答,他自己就知道怎麼做了。

  • #24樓 [樓主] 2008-09-10 11:33 Confach

@lkc 冷靜,很重要。我見過好多人一遇見問題就開始這裏找找,哪裏問問,其實有這些時間還不如先分析一下原因所在,然後再繼續尋找,這樣節省時間,也鍛鍊自己的分析能力

  • #30樓 2008-09-10 11:43 絕世無才

博主說得很對,碰見再急的問題時,也需要冷靜,衝動是解決不了技術問題的 一次,兩個醫院客戶那裏同時有一個新模塊(門診收費)上線,這個模塊我做的,並且也測試了幾周,但我知道真正用的時候肯定會有問題,而且我並不在現場,於是我不斷的告訴自已,再急也要冷靜, 於是我遠程指揮兩個同事,並且不斷的收到Bug,不斷的編譯 發郵件過去。從早上8點開始直到12點醫院下班,我竟然發送了將近30封郵件。我和同事交流的過程中不斷的說:冷靜 他們說暈了,挺不住了,要不就停吧,此時我也說冷靜。結果又經過一個下午的苦戰,兩邊的系統都成功的上線了。 此刻比踢完一場球還痛快!

  • #36樓 2008-09-10 14:01 4681 [未註冊用戶]

30樓做的東西真牛,到最後還有這麼多的bug.

  • #38樓 2008-09-10 14:40 絕世無才
    • @4681

有些時候,我們無法決定自已的軟件裝到客戶機器上後是如何運行的, 
但我們要保證在自已的電腦上和測試用的電腦上是能正常運行的, 
另外我們更不能保證客戶一定要按我們想象的那些步驟進行操作, 
所以問題是無法避免的。 
我們能做到的是經過仔細的需求分析,設計架構,編寫代碼,出現問題時,儘量不要因爲一個修改帶來更多的問題(耦合性) 
當然,最重要的是需要時時保持一個冷靜的頭腦 

--

  • 劉未鵬(pongba)|C++的羅浮宮 http://blog.csdn.net/pongba

  • TopLanguage http://groups.google.com/group/pongba

2. 反饋

  • 嗬嗬!謝謝有心人!不過應該提供 FreeMind 原文件哪?否則,相關的鏈接可是點擊不了的是也乎是也乎 -- ZoomQuiet

  • ZoomQuiet,我現在都不知道什麼時候保存這個頁面的,這是怎麼回事呢? -- dfar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章