程式設計師如何高效地擺脫程式設計困境
每個人學習程式設計時都會遇到困難,因此作為程式設計師,需要學習的最重要的技能之一是如何高效地擺脫困境。下面簡要地介紹幾種方法,以幫助我們擺脫程式設計困境。
1 第一步
陷入困境後,首先需要判斷形勢。我們必須能夠明確地回答如下三個問題,才能夠從他人那裡獲得幫助。
⑴你想要做什麼?
⑵你已嘗試哪些方式?
⑶結果如何?
對於以上三個問題,答案應儘可能具體。
對於第一個問題,像“我要在我的Windows 10計算機上安裝最新版本的Python 3”這樣明確的陳述足夠詳細,讓Python社群的其他人員能夠施以援手;而像“我要安裝Python”這樣的陳述沒有提供足夠的資訊,別人無法提供太多的幫助。
對於第二個問題,我們的答案應提供足夠多的細節,這樣別人就不會建議我們去重複已經嘗試過的方式:相比於“我訪問Python網站,並下載了一個安裝程式”,“我訪問http://python.org/downloads/ ,並單擊Python 3的Download按鈕,再執行這個安裝程式”提供的資訊更詳細。
對於最後一個問題,知道準確的錯誤訊息對線上搜尋解決方案或尋求幫助很有用。
有時候,通過回答這三個問題,我們會發現遺漏了什麼,從而無需再做其他的事情就能擺脫困境。程式設計師甚至給這種情形提供了一個名稱,稱之為橡皮鴨子除錯法(參照於一個來自《程式設計師修煉之道》書中的一個故事)。如果我們向一隻橡皮鴨子(或任何無生命的東西)清楚地闡述自己的處境,並向它提出具體的問題,我們常常能夠回答這個問題。有些程式設計公司甚至在辦公室放置一個橡皮鴨子,旨在鼓勵程式設計師“與這隻鴨子交流”。
類似於橡皮鴨子除錯法,有一種現象叫做ConeofAnswers,這是一個常見的現象。我們的朋友跑來問我們一個問題,但是當他自己把問題說完,或者說到一半的時候就想出了答案走了,留下一臉茫然的我們。是的,這個時候我們就起到了那隻橡皮鴨子的作用。
相似的概念還有不少,列如自白除錯、紙板程式設計師或程式設計師的假人、想出腦外等等。總的來說,在我們試圖表述自己的想法的過程中,自然地在促使自己去整理思路,重新考慮問題。
1.1再試試
只需回過頭去重新來一次,就足以解決很多問題。假設我們正編寫一個for迴圈,可能遺漏了某種簡單的東西,如少了一個冒號。再試一次可能就會幫助
我們避免重複同樣的錯誤。
1.2 歇一會兒
如果我們很長時間內一直在試圖解決同一個問題,那麼休息一會兒實際上是我們可採取的最佳戰術。長時間從事一個任務時,我們可能變得一根筋,腦子裡想的都是一個解決方案。我們對所做的假設往往會視而不見,而休息一會兒有助於我們從不同的角度看問題。不用休息很長時間,只需讓我們能夠擺脫當前的思維方式就行。如果我們坐了很長時間,起來做做運動。溜達溜達或去外面待一會兒,也可以喝杯水,或者吃點清淡而健康的零食。
如果我們心情沮喪,也許該將工作放到一邊,整天都不考慮了。晚上睡個好覺後,常常會發現問題並不是那麼難解決。
2.線上搜尋
很可能有人以前遇到過我們目前面臨的問題,並在網上發表了相關的文章。良好的搜尋技能和具體的關鍵字有助於我們找到現有的資源,供我們用來解決當前面臨的問題。例如,如果我們無法在使用Windows 10的計算機上安裝Python 3,那麼搜尋“python 3 windows 10”可能會讓你馬上找到解決問題的方案。
搜尋計算機顯示的錯誤訊息也極有幫助。例如,假設我們試圖啟動Python終端會話時出現瞭如下錯誤訊息:
> python 'python' is not recognized as an internal or external command > |
通過搜尋完整的錯誤訊息“python is not recognized as an internal or external command ”,也許能得到不錯的建議。
當我們搜尋與程式設計相關的主題時並打算接受部落格文章提供的建議前,應大致瀏覽一下前幾個評論,看看其他人的反應。如果文章沒有任何評論,請對其持保留態度——它提供的建議可能還沒有人驗證過。