2010-10-30 16 views
9

所以,我們這些一直在回答問題和處理bug報告的人都深深的理解了「完整的,最小的例子」的概念。你從一堆巨大的代碼開始,出現了一個奇怪的錯誤,並且你想問問別人。但是你不想把它們全部弄亂,所以你開始把一堆代碼分解成更小的代碼,直到你得到這個小小的20行寶石,它仍然有着同樣的錯誤。 (然後,至少有一半時間,你會意識到這個錯誤是因爲它像一隻月夜蛾一樣盯着你,而且你根本不需要問,但那是一個副作用。)創建最小完整的bug示例的好新手指導?

做這樣的代碼減少並不是每個人都有的技能 - 它需要一點練習,除了許多新手還沒有意識到他們應該在第一個這樣做的事實之外地點。對於如何提出好問題的新手們來說,有幾套優秀的指導(例如,ESR的經典「如何提出問題的智能方式」)。是否有良好的說明,解釋一個完整的例子是什麼,以及如何創建它們?

回答

3

這一切都在名稱。一個完整的最簡單的例子是一個完整且最小化的例子。完整意味着它包含所有相關信息,最小意味着它包含沒有不相關的信息。識別什麼是不相關的能力是隻有在實踐中才能體現的 - 試圖爲此提供指導,似乎有點像試圖提供騎自行車的指導。你可以給技術上的解釋和描述機制(和你連接的TeX FAQ非常好),但最終真正學習的唯一途徑就是通過做。

+0

我並不完全同意 - 即使只有通過某種方式學習東西的時候,幾乎總是可以給出過程的外觀以及如何完成的說明。儘管如此,你說的話可能有相當多的事實。感謝你的回答! – 2010-11-27 04:43:26

+0

不客氣:)。 – Benubird 2010-11-29 11:58:50

2

我會從我熟悉的那個開始;這些都來自TeX社區,所以對編程有點偏袒。我希望其他人有更好的答案。

英國TeX常見問題解答在http://www.tex.ac.uk/cgi-bin/texfaq2html?label=minxampl上有一個關於「如何創建最小示例」的條目。

該頁面指向「什麼是最小實例?」,這裏是:http://www.minimalbeispiel.de/mini-en.html。同樣,這是針對TeX文檔的;這些想法是相同的,但工具和細節有點不同。

編輯(2013/01):另外一個,我在StackOverflow的評論注意到: 「短的,獨立的,正確的(可編譯),實例」 頁面,在http://sscce.org/。不完美,它建議20kb(!)作爲上限,但是對列表來說是一個很好的補充。

編輯(2013/02):喬恩斯基特有一個博客帖子書寫好的問題,其中包括,似乎有用的示例代碼段:http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx