天天看點

如何向大牛提問?

//=====================================================================

//TITLE:

//    如何向大牛提問?

//AUTHOR:

//    norains

//DATE:

//    Saturday 03-June-2010

//Environment:

//    NULL

//=====================================================================

    開篇之前,為避免大家誤解,先澄清一下,俺不是大牛,亦不是高手,隻是一個習慣于和大夥分享經驗的菜鳥。既然如此,為什麼要拟這麼一個标題呢?沒辦法,因為我覺得如果将"大牛"替換為"别人",或是"高手",甚至是去掉,點選率肯定不會太高。為了一點點虛榮心,就以"大牛"命題吧!

    看到這篇文章的不少看官,應該自己也有人氣很旺的blog,不出意外也會收到不少朋友的請教郵件。隻是不知道會不會和我有同樣的感受,有些郵件很舒心,看起來很舒服,提問非常有針對性;而有的,卻莫名其妙,繞了半天,都不知道怎麼說。

    簡單點,我們來看一些不太好的提問例子。

    想想,還是不放心,還是要先聲明一下,這些例子是從我的郵件中所摘錄的。但摘錄并不是針對發郵件者本人,因為這些問題是大家都有的,之是以摘錄這段,僅僅是因為我太懶,懶得自己再去編造。如果下面的例子不幸是您發給我的,還請不要見怪。當然了,我會将發信人資訊給去掉,以避免給您帶來麻煩。

    我們先來看第一個例子:

norains大俠,

     你好

     再來向你請教問題了,怎麼打包Windows CE的應用程式?

    thanks~

     xxx

    這個很明顯是學生的風格了,隻要不明白,不會去多加思考,直接發問。針對這問題而言,其實很簡單,隻要在百度或谷歌裡面輸入一下,結果什麼都出來了。發郵件給我,雖然我是有問必答,但畢竟我也要工作,并不能馬上回複,甚至于有時候太忙,導緻兩三天後才能回複。我這個回信效率和搜尋引擎相比,實在是天壤之别。是以,我比較建議,如果有問題,不妨先問百度和谷歌,如果解答不了,再給大牛們寫信。因為很多大牛們,他們也不一定非常有空。

你好,norains~

我想問一下,在Media.cpp中,

m_pMedia->Open(TEXT("love.mp3")),

Open函數的參數是路徑,還是直接是檔案名,MP3檔案應該放在工程的哪個檔案下?

謝謝啦~

  xxx

    這封郵件所存在的問題其實和前一封差不多,隻不過這個不必問搜尋引擎,相對路徑和絕對路徑隻要測試一下就好了。我覺得,路徑更改一下,比寫一封郵件要花的時間要少多了。一般我建議,如果隻是一些簡單的代碼,不妨自己先測試一下,實在不行,再發郵件問問大牛。

norains ,你好!

    驅動觸摸屏的觸摸不準,不知道什麼原因?

謝謝

xxx

    這是一個很籠統的問題,給回答者畫了一個很大的圈,基本上無法明确地給予答複。首先,我們無法知道他用的是什麼晶片;第二,不知道其硬體是否工作正常;第三,不知道他用的軟體版本;最後,不知道所謂的不準是一個什麼的概念。因為大牛沒有見到提問者的闆子,其實大牛是處于一種無知的狀态,他也隻能根據提問者的描述來推測問題的所在。如果提問者無法提供一些明确的資訊,我想很難有大牛能夠非常正确回答其提問。

   與此類似,還有一種:

norains ,你好!

    我的程式好像有bug,不知道什麼原因,麻煩您查一下。程式在附件中。

謝謝

xxx

    我比較頭大的就是類似的郵件。人家都這麼熱情了,源代碼都給你奉上了,能不幫人家查問題麼?隻是,我應該從哪裡查起?他說有BUG,但這是啥BUG?你真要幫人家調嘛,又要一個一個去試,耗費大量的時間精力不說,能不能找到他所說的bug還不一定。像這種情況,我比較建議發信人能将bug寫明确些,比如到哪一步會出錯,什麼情況下會出錯,這樣大牛們就能有的放矢,既能節約他們的時間,也能更快解決你的問題。

 說了那麼多的不好,我們最後來看看一個好的:

norains您好,

       首先感謝你上次的回複。 

       我現在在看WinCE下的USB驅動程式,看到資料說USB驅動程式主要是調用USBD子產品,這個USBD子產品是微軟提供的。 當有USB裝置接上主機時,主機檢測到USB接口上有電平變化,就會去讀取USB裝置的描述符,讀到這個描述符再去系統資料庫中找到與該描述符一緻的驅動程式。那請問主機是如何去讀這個描述符的?是個什麼機制?(我以為是USBD子產品中有這樣的功能函數呢)

      還有,寫USB驅動程式時,VendorID、ProductID這些描述符的鍵是自己先在系統資料庫寫好,還是說在USB裝置第一次插入時,提示安裝驅動,找到驅動後,由驅動來寫入這些描述符到系統資料庫中?

摘錄網上看到的描述"在系統資料庫的HKEY_LOCAL_MACHINE/Drivers/USB/LoadClients/鍵下儲存了USB Host的驅動程式資訊。當我們第一次插入USB裝置時。因為不存在這樣的資訊,是以系統會彈出一個"未能識别的USB裝置"的對話框,要求使用者輸入驅動程式的名稱。該名稱就是USB Host驅動DLL的檔案名。在輸入了名稱後,系統會自動調用該DLL的USBInstallDriver函數。該函數負責向系統資料庫添加USB Host驅動的資訊,以便再次插入裝置時,能夠識别該USB裝置。"

非常感謝您的回複

                                                              祝您工作順利,身體健康!

    這種郵件我是最喜歡的。條理很明确,過程很清晰,讓人一眼就知道他想問什麼,他不明白什麼。并且還有自己的一些主觀感覺,這可以讓我知道他目前的想法是否和實際的有所不同,讓我在回答時能有的放矢,可以不用重複他明白的地方。最讓人欣喜的是,他還附錄了在網上查找到的資料,以便我進行判斷。這點尤為可貴,因為即使是大牛,也不可能面面俱到,他也有短項,為避免大牛遇到短項到網上查找資料,還特意增添了附錄,光是這份心,就能讓大牛們好好地問他解答了。

    最後的最後,總結一下吧。其實很簡單,如果你想向大牛提問,并且能得到正确答案,那麼你應該将遇到的情形一一道來。你放心,大牛們不會嫌你啰嗦,因為描述越多,他們就越能知道問題的所在。如果你嫌寫一封詳細的信件很麻煩的話,那我建議你還是不用發郵件問大牛了,因為你連寫自己的問題點都覺得麻煩,你還怎能期望大牛們費心為你解答呢?

繼續閱讀