iT邦幫忙

17

[心得][分享] 如何問出好問題

EN 2021-08-06 15:57:522475 瀏覽
  • 分享至 

  • xImage
  •  

我從入門學習寫程式開始,就加入了 IT 邦,不知不覺間也過了三年多。
IT 邦是一個非常棒的知識交流平台,上面有許多熱心的技術前輩可以為新手答疑解惑。不過,在這三年多我也看到了一些十分令人無言的問題,也就是所謂的蠢問題

進入正題

在網路上,有一個網站叫做 How To Ask Questions The Smart Way,因為實在寫的太好,它還被翻成了繁體與簡體中文的版本
其中有許多觀點我認為講的非常好,但鑒於文章的長度,我認為習慣當伸手牌的新手永遠不會主動的閱讀它。
為此,我濃縮了在板上 3 年多的經驗,向邦友們分享我認為什麼樣的問題是蠢問題。基本上,蠢問題可以被分成好幾類:

  • 問錯地方
  • 這種問題只要 Google 就能找到
  • 問題本身不蠢,但發問者沒有將問題整理成方便大家閱讀的形式

問錯地方

我們都知道,IT 邦上面的前輩其專業都是以 IT 維護、 Web 前後端開發為主。
如果發問者今天是提出簡易的 C 程式或是演算法類的問題,多數前輩還是有辦法回答。
但是,如果要在一個以 IT 為主的討論站上面丟出像是但不限於工業控制、日常 3C 產品該如何選擇,不免就有些離題。
除了主題與討論站性質相差甚遠的問題,我認為提出一些過於艱深或是簡單的問題也不太合適,像是:

  • 我在 XXX 專案使用了深度學習模型,但我無法釐清為何學習的結果與實際應用總是會有落差。
  • C 語言如何印出變數
  • python 的 XXX 套件(超冷門)安裝不成功一直噴錯誤,有大神可以幫忙嗎

問題的答案只要 Google 就能找到

標題說明了一切,在小弟我註冊的三年以來,經常可以看到這種蠢問題,像是:

  • C 語言如何印出變數
  • 什麼是 SQL Injection
  • 5000 - 32000 可以買什麼電腦

前兩者只要把標題原封不動的丟到 Google,第一個跳出的搜尋結果就會是答案,毫無疑問的,這是完美的蠢問題
後者的話,我認為價格範圍太寬,這類的提問者通常也沒有很好的描述自己的需求,像是:

  • 我有剪片需求,一般會輸出 XXX 畫質、 YYY 長度的檔案
  • 我有視窗多開需求,一般會同時使用 XXX 工具以及 YYY 工具
  • 因為預算問題,如果有處理性能導向或是記憶體容量的選擇問題,我會偏向前者

錯誤的表達問題

這是多數新手會犯的錯誤,我覺得修正以後都不會是什麼大問題,像是:

  • 貼上程式碼時應避免使用截圖,如果可以,附上專案網址以及使用 Markdown 貼上程式碼會更好!
  • 如果真的無法避免的使用截圖,也請注意字體大小!
  • 請盡可能的描述問題,像是:
    我在使用 XXX 開發時,YYY 功能總是與我預期的行為有出路,我有懷疑是 XXX 框架中 ZZZ 的問題,所以我上 Stackoverflow 找出類似的問題,不過我還是對 AAA 的地方有些疑惑。
    此外,程式運行的作業系統環境是 BBB,CCC 的版本號碼是 1.0。
    
  • 送出提問前,請使用預覽功能檢查問題的描述是否通暢易懂,或是程式碼有沒有正確的顯示出來。

那我該如何問出好問題

我先承認,我非常不喜歡求助,所以這三年以來我並沒有在站上發問。
不過,我所看到的好問題幾乎都有這些共通點:

  • 清楚的描述問題
  • 發問者很清楚自己要的是什麼
  • 發問者已經花了一定的時間思考這個問題的答案,甚至提出了 60 分的解法
  • 這個問題讓答題者有機會學習新知

以我為例,我目前回答過且最喜歡的問題是 npm 套件安裝問題
提問人在標題就說明了問題的大類型,然後有清楚的描述與問題、圖片:

今天有兩個 git 分支 A 與 B,
在 A 中使用 npm install A1 套件後,套件資訊存於 package.json 內,
並且於 node_module 資料夾內成功安裝,接下來,
切換到 B 分支後使用 npm install B1 套件,
npm 安裝了 B1 套件,並且刪除 A1 套件,
再次切回 A 分支後,執行出錯 (因為 A1 套件不存在)。

問題:

1. npm install package.json 會依照內容新增&刪除本地套件?
2. npm install '特定套件',要如何避免發生以上況狀,只單純新增套件 (不刪除)

在我回答這個問題前,我也不知道有 Git worktree 這種玩法讓開發者可以分開管理不同 Branch 的依賴,所以能回答到這個問題讓我感到非常愉悅。

總結

說了這麼多,其實不是要批評新手,而是希望能正確的引導大家用一個比較舒適(?)的方法問問題,IT 邦是國內少數有大量流量的討論站,小弟希望大家都可以珍惜這麼棒的平台。
此外,回答問題的人都是無償提供答案的,如果這些答案對提問者本身有幫助,也不要吝嗇選擇你心目中的最佳解答和表達感謝。
如果有其他前輩對本篇文章有什麼不同的想法,也十分歡迎大家在留言處進行友善的交流 XD


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
5

推,但估計會發問的人(文章的目標族群)也不會看這篇文 因為他們不喜歡爬文 ><

/images/emoticon/emoticon06.gif

EN iT邦好手 1 級 ‧ 2021-08-06 16:17:42 檢舉

對诶,我太低估他們了 XDDDD

N3o Huang iT邦新手 5 級 ‧ 2021-08-13 11:49:48 檢舉

應該是高估

3
寶寶出頭天
iT邦新手 1 級 ‧ 2021-08-07 12:57:16

很不錯的分享,讓新手知道找問題方向~
因為很多新手真的是不知道QQ

1

很好的分享,大推~/images/emoticon/emoticon42.gif

EN iT邦好手 1 級 ‧ 2021-08-12 20:33:45 檢舉

感謝小馬大的支持 <(_ _)>

我要留言

立即登入留言