如何問個願意讓人回答的程式問題

有鑒於社團版上發問風氣不好,故此特發一篇新手教學「如何問個願意讓人回答的程式問題」
老手或電神請直接關掉或回上一頁

程式語言讀書會(X)拍賣會(?)

大約從 11 月初開始,常常冒出一些「哪裡出了問題呢」「怎麼跑不出來」「有哪個大大發現有那裡錯誤嗎」
貼出錯誤訊息、或者就在 FB 上「直接」貼程式碼
或者直接丟一句說「請問題目怎麼解」,貼出題目敘述
然後留言就幫忙回答(X)開始喊價(O)

嗯~其實想說的是,問問題的目的要做什麼?
你是希望:

  1. 理解原因、原理,並且獲得知識、解答
  2. 直接貼給我答案

如果你是選項 2.,你直接貼出價碼,乖乖付錢,找別人幫你寫就好
你也有你自己的專業,朋友想要請你做你專業的事情,還要免費付出,你會想接嗎?
「別人努力得到的,你憑什麼去免費取呢?」

如果你是選項 1.,那就看好這篇文章吧!

問題守則

每個人都可以問問題,不分難易都可以問
每個人都有新手時期,有問題會發問是正常的

1. 你想要做什麼結果?

說明你的目標,別人才知道要做什麼
程式題目要附上文件、解題連結
如果你是自己想寫的,說明跟要求盡量詳細

2. 現在跑出什麼情況?

錯誤X:只是打「怎麼跑不出來」「有哪個大大發現有那裡錯誤嗎」

這樣問問題只會讓別人覺得你是伸手牌,要請私人家教之類的請直接付錢

正確O:錯誤訊息詳列出來,錯誤訊息請事先 Google 找好,語法錯誤請參考該語言的範例程式,Google 方式請參考第 4 點

3. 你覺得是什麼問題?可能解法?

你一定會有當前的 Code 或當前的想法

如果是 OJ 解題者,應該會拿到 WA, TLE, MLE, RE 之類的錯誤
就請你把當前的想法打出來,不要只是說「我拿到了 WA」這類簡短語句

有程式碼也可以貼上來,貼上方式請參考第 5 點

4. Google 查了什麼?

這裡先不討論會不會 Google 搜尋(因為有些人不會,畢竟下關鍵字會稍微吃一點技巧)

這裡先教新手 Google 最簡單的方式:把錯誤訊息、錯誤代碼通通貼上去

如果你會 Google 的話,你可以把搜尋看到的東西放上來
哪一句話不懂、哪些覺得跟你的想像有差距都可以問

如果你不會 Google,也可以禮貌性詢問「請問這個知識點的關鍵字是什麼呢?」
(當然,如果你每個貼文都一直問很基礎的問題,別人也會覺得煩,也請盡快學會如何 Google 搜尋)

5. 程式碼排版

錯誤X:「直接貼在 FB 上」、「手機拍照」

你看了眼睛不會痛
但不代表別人眼睛不會痛
但不代表別人眼睛不會痛
但不代表別人眼睛不會痛
因為很重要所以說三次,可以讓別人舒服地看你的問題才是正確的

正確O:「放在貼 Code 網站」、「螢幕截圖」

以下網站都可以貼 Code,當然不只這些:

  1. https://ideone.com
  2. http://codepad.org/
  3. https://gist.github.com/
  4. https://pastebin.com/
  5. https://repl.it/

6. 問完不要刪文

也不算是守則,算是禮儀

有些新手會覺得問基礎問題很丟臉想刪掉
前面有說了,每個人都有新手時期,問簡單問題都沒關係

如果你刪文了,其實會給別人的感受不好
感覺像是被利用完就丟的感覺(想不到比較恰當的比喻@@)

問完問題最多可以直接關留言,但不要直接刪文

總結

至少不要讓別人覺得

遵守上述的原則,至少不會被討厭或被留言攻擊

維護社團風氣你我有責,共勉之!

後記

話說,為什麼不遵守原則的新手文,都這麼容易釣出電神?你有頭緒嗎?


如何問個願意讓人回答的程式問題
https://blog.yangjerry.tw/2019/11/21/how-to-ask-a-good-question/
作者
Jerry Yang
發布於
2019年11月21日
許可協議