[分享] 詢問程式問題的方式置底

看板Ruby作者 (Neisseria)時間8年前 (2016/04/10 21:21), 6年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
不限於 Ruby 語言,有關程式設計的問題都可以試試以下方式 程式問題的內容可考慮加入以下內容: - 問題本身 - 相關軟體的版本:包括系統、編譯器/直譯器、模組、資料庫等 - 預期結果 - 實際結果 - 錯誤訊息 (如果有的話) - 一小段可重現問題的程式碼 見下文的 SSCCE 或 MCVE 依照這個流程思考問題,有時候,在這個過程中,問題自然而然就解決了。 有時候,會看到有些板友說「我按照某個流程寫的程式,結果出了問題。」這種方式 相當沒有效率,首先,想解決問題的板友要先去了解這個流程;接著,即使這個流程是 正確的,也不代表原 PO 的程式就是正確的。程式是照自己寫的流程在跑,不是照自己 想的流程在跑,演算法對不代表程式就對。(要不然 bug 那裡來的 = =...) 提供程式碼給別人相當重要,不僅僅表示你自己明確知道問題何在,別人也可以很快地 重現你的問題。有些網友會用貼圖的方式,但是,這種方式相當不怡當,想幫你解決問題 的人,還要重新輸入你的程式碼,有些人會因此失去耐心。如果在討論區直接貼一大段未 排版的程式碼,也是不恰當的;這些程式碼沒有良好的排版而難以閱讀,想幫忙的人,還 得重覆複製貼上的過程。比較好的方式,是用一些專門的網站分享程式碼片段。 這種可重現 bug 的範例,至少有兩種參考格式: - SSCCE: http://sscce.org/ - MCVE: https://stackoverflow.com/help/mcve 對於想除錯的板友,值得一讀相關內容。 以下是一些貼靜態程式碼的網站: - http://pastebin.com/ - https://gist.github.com/ - http://pasted.co/ - http://paste.ideaslabs.com/ 以下是可線上執行程式碼的網站: - https://ideone.com/:多種語言 - http://codepad.org/:多種語言 - https://glot.io/:多種語言 - https://jsfiddle.net/:網頁前端 - https://jsbin.com/:網頁前端 - http://codepen.io/:網頁前端 可看「提問的智慧」,雖然這是一篇舊文,仍然值得一讀。 [原文] http://www.catb.org/~esr/faqs/smart-questions.html [中譯] https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way 另外,推薦 Effective Debugging (有中譯本)。這本書提示許多除錯的觀念 和方法,不限於某種特定的程式語言;苦於無法有效除錯的板友,可以參考看看。 板工和該出版社沒有對價關係,單純個人推薦。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.140.247 ※ 文章網址: https://www.ptt.cc/bbs/Ruby/M.1460294508.A.1E7.html ※ 編輯: Neisseria (125.227.36.83), 02/08/2017 15:54:59 ※ 編輯: Neisseria (125.227.36.83), 02/08/2017 15:59:55 ※ 編輯: Neisseria (111.251.78.103), 09/19/2017 10:18:27 ※ 編輯: Neisseria (112.105.249.161), 04/17/2018 23:44:26 ※ 編輯: Neisseria (112.105.249.161), 04/17/2018 23:48:25
文章代碼(AID): #1N2bDi7d (Ruby)