Linux : 如何問一個好問題
Last Update - 09 / 18 / 2006 By DarkRanger .
前言:
DR 在看過《提問的智慧》後,深深覺得應該把腦袋裡累積很久的一些觀念通通丟出來,可以當作是肺腑之言,或者是個人(忍無可忍?)的純發洩....
「學問」的累積,就從學會問一個好問題開始....
1. 為什麼問個問題要這麼謹慎呢?難道就不能隨便一點嗎?
- 除非你不想快速得到答案,否則問題問不好,回應給你的只是更多(你早就可以避免)的問題。
- 一個劣質的問題,不僅可能無人回應,還可能讓那些真正值得回答的好問題被捲入討論串的洪流之中。
- 差勁的問題,可能會影響協助者的情緒,進而降低協助者對討論區的熱心以及關懷程度。
2. 不要什麼都沒試就發問,把發問列為最後的手段
一個事實是:九成以上的問題,都可以直接從網路上的文件推導並解決,Linux 既從網路而生,網路上的資源也是最多的,所以不要妄自菲薄的認為除了發問以外,自己沒有解決問題的能力,而且協助者會希望發問者能先自己做好功課再發問。
3. 所以,發問前你該做的事
- 查閱相關的手冊(manual)、README、FAQ。
- 如果是參考某份文件出了問題,可以詢問文件的作者,他們通常樂意,或者某種程度上有這個義務幫助你。
- 向會用 Linux 的朋友求助,你和朋友幾分鐘的溝通就可以抵過幾十篇討論回應的時間,甚至還可以讓他直接操作你的電腦來直覺的處理問題。
- 如果使用商業公司的軟體或是服務,協助者不一定有操作經驗,請優先向公司求助。
- 使用搜尋引擎!!!
4. 事前搜尋的智慧
- 選用認為最好的搜尋引擎 (例如目前公認的 Google )。
- 關鍵字的搭配可能:原始錯誤訊息、硬體名稱、軟體版本、distribution 版本。
- 或者在熱門的 Linux 討論區上搜尋。
- 不要排斥英文!英文文件比中文文件還要豐富得非常多(除非碰到的是中文環境問題),可以利用Yahoo!奇摩字典來翻譯。
5. 好問題的要點(極重要)
- 避免廢話,諸如「救命啊~」、「可憐可憐我吧~」等等,這些用詞對你的問題毫無幫助,甚至可能招致反感 .
- 軟硬體的列表只會嫌少而不會嫌多,尤其要講明 distribution(發行版)的種類與版本,這跟解決問題的方法與途徑有很大的關係。
- 用完整的訊息或是紀錄檔(log)來取代片面的敘述。
- 說明完整的狀況和操作過程,忘記了就要想辦法回想起來。
- 不要加入太多個人判斷,用判斷來取代原始資訊更是大忌。
- 不要一次性的列出彼此互不相干的問題,這會使討論顯得雜亂,請將問題分開貼出。
- 避免提供錯誤的資訊,問題不嚴謹,表示思考也不嚴謹,更難以得到正確的解答。
- 避免錯字,這是本來就應該做的。
- 審視自己的問題是否容易閱讀而且理解,並且不要把詞藻搞得很華麗,這並不是一篇作文
。
- 避免地方口語,使用一般的白話文,港式用語台灣人可能看不懂,台式用語香港人也難以看懂。
6. 幾個不甚理想的例句,如果在問題中避免了以下的情形,那就會是一個不錯的問題。
「救救可憐的窮學生吧....」
(裝可憐 DR 也試過,很不幸的除了反感以外不會有什麼回饋)
「遇到了問題 , 之前有改過一些設定....」
(沒說改了哪些設定)
「安裝某軟體失敗....」
(沒有提供任何錯誤訊息)
「顯示畫面出問題,怎麼辦?」
(既沒說是什麼問題,相關的軟硬體資訊也沒列出來)
「參考了網路上的文件操作,卻沒有成功。」
(沒說是哪份文件)
「無法存取某些檔案,會是權限的問題嗎?」
(既然如此,怎麼不先研究一下檔案權限的部分呢?)
「我使用 Linux 8.0....」
(犯了認知上的錯誤,指的應該是某個 distribution 的版本)
「執行 gcc 出現:command not found....」
(請查字典....)
7. 一些發問上的補充
很多新來的發問者往往在問題上會先註明「我是新手」或是「我是初學者」這類的訊息,然而事實上這沒有什麼必要性,算不算是新手從問題就可以看得出來,或者
可以這樣說,所謂高手和新手的差別其實並不在於技術知識的高低,而是高手更懂得用發問以外的方式得到解決,例如:更懂得搜尋,更懂得如何篩選出有用的資
訊,就 DR 的經驗而言,很多問題的解決,並不是因為協助者本身知道解答,而是協助者懂得從發問者提供的資訊去搜尋出解答,而這部分,是發問者自己就可以做
到的。
值得注意的是,協助者並不怎麼排斥簡單的問題,這搞不好還會增加他們的成就感,所以簡單的問題並不等於是一個糟糕的問題,糟糕的問題就如之前所述的,癥結點來自資訊的不完善或是亂七八糟的敘述。
發問場所的選擇也是非常重要的,如果問的是關於 Linux 基礎或是伺服器架設,那麼在大多數熱門的 Linux 討論區應該都能應付,而如果是桌面環境或是應
用軟體(包括電玩遊戲)的使用,找一些專門的討論區是較好的選擇,中文的討論區比較難有這樣的區分,但在英文討論區例如 LinuxQuestions,
討論區的分類就頗為詳細,所以再一次提醒:不要排斥英文 !只要能明確的闡述症狀
,犯點文法上的錯誤並無所謂。另外,也可以依 distribution 鎖定相關的討論區,使用相同 distribution 的協助者,更容易明瞭發問者的
環境,有時可以因此提供更好或是更正確的解答。
還有一點要注意的是,有些發問者會直接在舊有的討論串加個:「我也是這樣」、「我也碰到一樣的問題」,但實際上跟原發問者的環境未必相同,說得不清不楚,也算是一種糟糕的提問方式,所以說,不論如何都應該自行開一個討論串。
至於發問的禮節,其實在這種只論事情的技術討論區並不太重要,然而在問題中加點禮貌用詞也並無不可,不過如果問題很糟,空有禮貌也是白搭。
8. 假設問題沒有獲得解答,以下的可能
- 問題本身很糟糕,也就是說可能犯了前面所提到的毛病。
- 問題超出了這群協助者的能力範圍,這並不稀奇,大多數協助者既不是作軟體也不是作硬體,能力的累積不過是靠經驗和文件。
- 一個自找麻煩的問題,讓人覺得沒有處理的必要,也就是說可能得自己解決。
- 在人煙稀少的討論區提問。
- 問題肇因於軟硬體本身的臭蟲或疏失。
9. 發問之後,解決或是沒解決
- 如果問題解決了,不管是因為別人的幫助或是自己解決,記得要在討論區做個回應表示已解決,讓有相同問題的人知道該討論有其參考價值。如果最後是自行解決,也別忘了把解答貼出來。
- 如果問題沒解決,有實際需求的話,試著更換軟體、硬體或是操作方式來應付你的需求。 如果沒有實際需求,可以暫時將問題擱著,等有新的想法再來處理它,用不著讓問題阻礙了學習的道路。
10 . 最後,值得推薦的討論區
鳥哥的私房菜(Linux 基礎、伺服器架設)
Study-Area(Linux 基礎、伺服器架設)
摩扥學園(Debian Linux、桌面環境)
LinuxQuestions(分類詳細,無所不包)
FedoraForum(Fedora Linux)
linuX-gamers.net(Linux 遊戲)
LinuxForum(類似 LinuxQuestions)
結語
強烈建議任何一位新接觸 Linux 的人,都該去買一本起碼包辦系統安裝和基本操作的 Linux 書籍,可以避免許多問題,也可以加快學習的效率。有本參考書在手,不僅操作上方便,吃東西或蹲馬桶也都可以看。
→Back to DarkRanger.no-ip.org