【0830】
喬布斯曾說過一句話:每個(gè)人都應(yīng)該學(xué)習(xí)編程班套,因?yàn)樗鼤?huì)教你如何思考。美國一位APP開發(fā)員兼寫作者理查德·瑞斯(Richard Reis)吹菱,在Medium平臺(tái)上發(fā)布了一篇文章《如何像程序員一樣思考——解決問題的方法論》巍虫,文中他分析了為何及如何像程序員一樣思考,從而成為一個(gè)解決問題的高手鳍刷。
理查德提出占遥,很多人都認(rèn)為自己有一套解決問題的步驟。比如输瓜,遇到問題時(shí)瓦胎,1.嘗試一種解決方案;2.失敗了尤揣,嘗試另一種搔啊;3.如果再次失敗,重復(fù)第二步北戏,直到僥幸成功负芋。理查德認(rèn)為,即使偶爾成功了嗜愈,這也是解決問題最糟糕的方式旧蛾,而且非常浪費(fèi)時(shí)間。最好的方式蠕嫁,就像優(yōu)秀的程序員練習(xí)編程一樣锨天,建立一個(gè)思維框架,然后在這框架下反復(fù)練習(xí)剃毒。
理查德提出病袄,可以用以下5個(gè)步驟搂赋,幫你建立解決問題的思維框架。
第一步益缠,理解厂镇。遇到問題時(shí),先搞清楚問題本身左刽。如何確定自己真正理解一個(gè)問題?有效的方法是酌媒,嘗試用自己的語言說出它欠痴,看有沒有邏輯漏洞,當(dāng)你能講清楚一個(gè)問題時(shí)秒咨,說明你理解了它喇辽。優(yōu)秀的程序員編程時(shí),總會(huì)寫下自己遇到的問題雨席,勾畫出序列圖菩咨,或同其它程序員一起討論。這個(gè)過程陡厘,就是在確定自己對問題的理解沒有偏差抽米。
第二步,計(jì)劃糙置。沒有明確的計(jì)劃時(shí)云茸,不要輕易著手解決問題。制定計(jì)劃谤饭,就是制定解決問題的戰(zhàn)略步驟标捺。當(dāng)計(jì)劃不清晰時(shí),暫停一下揉抵,給你的大腦一些分析問題和處理信息的時(shí)間亡容。理查德建議,嘗試像程序員做思維導(dǎo)圖那樣冤今,做出一個(gè)好的計(jì)劃闺兢,然后思考下面這個(gè)問題:如果你輸入X,采用哪些步驟可以得到結(jié)果Y辟汰?這樣可以訓(xùn)練你的思維計(jì)劃性列敲。
第三,分解帖汞。這是思維框架中最重要的一步戴而。不要嘗試一次解決一個(gè)復(fù)雜問題,而應(yīng)把復(fù)雜問題分解成若干簡單問題翩蘸。從最簡單的開始所意,一個(gè)一個(gè)逐級解決,最后合并成原始問題的答案。這也是優(yōu)秀的程序員在編程中最常用到的算法扶踊,對于他們來說泄鹏,解決問題的能力,要比編程語言的熟練度秧耗、系統(tǒng)設(shè)計(jì)等技術(shù)更重要备籽。
第四,卡殼分井。當(dāng)你理解了問題车猬,做出了計(jì)劃,分解了復(fù)雜任務(wù)后尺锚,依然卡殼怎么辦珠闰?理查德說,首先瘫辩,深吸一口氣伏嗜;其次,告訴自己伐厌,這很正常承绸。好的程序員和解決問題的高手,與普通人之間的差別在于挣轨,他們的注意力更多在如何解決棘手問題上八酒,而不是為此惱火∪刑疲卡殼時(shí)羞迷,可以試試這幾種方法:調(diào)試錯(cuò)誤;重新評估問題画饥;利用搜索引擎找到相似問題的解決者衔瓮,向他們學(xué)習(xí)。
第五抖甘,也是最后一步热鞍,練習(xí)。以上四個(gè)步驟衔彻,或許已能讓你建立一套解決問題的思維框架薇宠,但距離成為一個(gè)解決問題的高手,還差一步艰额,那就是:練習(xí)澄港,練習(xí),再練習(xí)柄沮。在問題中練習(xí)回梧,訓(xùn)練你的思維系統(tǒng)废岂。
|文獻(xiàn)來源于:李翔知識內(nèi)參