在學(xué)習(xí)編程的過程中總會遇到各種各樣的問題,那我們該如何解決這些問題呢?最簡單的方法就是當(dāng)面請教厢破,其次就是求助于問答網(wǎng)絡(luò)。現(xiàn)在簡單總結(jié)一下如何提出一個好的問題贾虽。
提問之前的準(zhǔn)備
1.遇到問題時不要急著問別人,在時間允許的情況下看是否自己能夠解決熙侍,嘗試在你準(zhǔn)備提問的論壇的舊文章中搜索答案榄鉴,嘗試上網(wǎng)搜索以找到答案,嘗試閱讀手冊以找到答案蛉抓,嘗試閱讀常見問題文件(FAQ)以找到答案庆尘。
2.如果做了努力依然不能解決,或者客觀條件不允許你自己解決了巷送,那么首先要選擇提問對象驶忌,不管是是現(xiàn)實中的大神,還是網(wǎng)絡(luò)上的牛人笑跛,確保他是你所知道的最佳解決人選付魔。
提問時的注意事項
謹(jǐn)慎選擇提問的論壇
國內(nèi)技術(shù)類問答網(wǎng)站http://segmentfault.com
國外技術(shù)類問答網(wǎng)站https://stackoverflow.com
使用有意義且簡單明確的標(biāo)題
一個好標(biāo)題范例是目標(biāo) -- 差異式的描述,許多技術(shù)支持組織就是這樣做的飞蹂。在目標(biāo)部分指出是哪一個或哪一組東西有問題几苍,在差異部分則描述與期望的行為不一致的地方。
總而言之陈哑,讓你的標(biāo)題更好地反映問題妻坝,可使下一個搜索類似問題的人能夠關(guān)注這個討論串伸眶,而不用再次提問相同的問題。
問題的正文
1.用清晰的語言描述你遇到的問題
2.提供軟件環(huán)境刽宪,包括操作系統(tǒng)厘贼、數(shù)據(jù)庫等相關(guān)軟件及其版本號
3.按發(fā)生時間先后列出問題癥狀,采用了什么措施解決問題圣拄,最終結(jié)果(可提供日志嘴秸、程序、截圖等描述)
4.盡可能提供問題相關(guān)的可分析文件庇谆,包括日志岳掐、截圖和Core dump等
5.問題是否可以重現(xiàn),采用什么方式重現(xiàn)
6.不要長篇大論族铆,簡明扼要岩四,描述主要問題
當(dāng)然哭尝,提問的時候一定要有禮貌哥攘,多用請和謝謝您的關(guān)注,或謝謝你的關(guān)照材鹦。讓大家都知道你對他們花時間免費提供幫助心存感激逝淹。
問題解決后
問題解決后,向所有幫助過你的人發(fā)個說明桶唐,讓他們知道問題是怎樣解決的栅葡,并再一次向他們表示感謝。最理想的方式是向最初提問的話題回復(fù)此消息尤泽,并在標(biāo)題中包含已修正欣簇,已解決或其它同等含義的明顯標(biāo)記。
當(dāng)然坯约,這也是我參考提問的智慧而總結(jié)的需要注意的地方熊咽。原文網(wǎng)址:http://www.catb.org/~esr/faqs/smart-questions.html