如何提高思維能力 不止針對程式猿

2021-09-02 21:45:33 字數 2429 閱讀 2088

最近公司有小夥伴向我反饋,說自己好像跟不上,感覺拖後腿了。希望我能夠幫忙指點下迷津。他的問題是主管交給他的任務,他都能理解。但是就是自己動手寫程式的時候,發現很多問題解決不了,很慢。

針對他這種情況,我指出了他的可能存在的一些問題。其中比較主要的一點,是思維能力還比較欠缺。當然思維能力是乙個寬泛的概念,具體到某個行業,它的要求會不一樣。但是,基本的規律還是有些通用的地方。

不管如何,工作中涉及到的基本知識,是思維能力不可缺少的遠端來。基礎掌握的紮實程度,會影響到你的思考能力。這個基礎知識包括基本的技術知識,一些開發經驗。如果是專案,也包括對於專案需求的理解程度。

這些沒有捷徑,只能靠自己多學習。學習學習在學習。 不要幻想自己有天賦,不用學,不存在的。

所謂學而不思則罔,思而不學則殆。平時在工作中,需要養成多思考的習慣。而且要多多深入的思考,在工作、程式設計的過程中,對於需求、**的簡單架構、相關的技術做更多的思考。思考很多時候,是讓人感覺沒有成就的事情,相比之下寫幾行**,更讓人覺得有成效。但是,養成多思考的習慣,對於解決問題的能力有長足的推進作用。

另外在學習知識技能的時候,也需要多思考。不要知其然不知其所以然。最好的方式是多問幾個為什麼,並主動踐行。慵懶的淺層面的學習沒有任何價值。

圍棋大師們,都有覆盤的習慣。就是在和人對弈的之後,不管輸贏,都會把對弈的過程重新復演一遍,並思考總結哪些地方做的好,哪些地方做的不好,應該如何改進。覆盤是乙個很好的鍛鍊思維能力的方式。對於程式設計師來說,你可以把自己成功完成的**進行復盤,思考哪些地方做的好哪些地方可以改進,都是乙個很好的鍛鍊方式。而另外一種覆盤,就是讀別人**,思考別人的思路。 特別重要的是,乙個問題,如果你不知道如何解決;而你的主管或者其他同事解決了,這是你乙個極好的鍛鍊思維的機會。你應該好好的覆盤一下他人的解決方案,為什麼用這種解決方案,技術支撐是啥。不僅僅要學習解決方案的本身,還要思考為什麼自己沒有思考到,而人家思考到了,自己需要如何改進自己的思考方式才能思考到,人家用了什麼樣的思考方式和思考方法,是我沒有的,這些都值得好好總結下。

覆盤的過程,其實就是反思的過程,沒有反思就沒有進步。

比如,有時候給小夥伴指導一些問題的時候,我會自己親自上去在小夥伴的工位上寫**。在這個過程中,我就會把解決問題的思路,以及我是如何思考,如何除錯、如何查詢資料的思路告訴對方,並最終寫出解決方案的**。但是,最終我都會刪除我自己寫的**。其實這個時候,我就是給小夥伴乙個覆盤的機會,好好思考下。

在網上會有一些思維訓練的問題。可以自己多嘗試練習。其中發散思維、邏輯思維和想象力是需要重點訓練的。發散思維可以培養你的思維的開闊度,在遇到問題的時候,可以想到更多的方法。而邏輯思維可以增加你的判斷力。

多讀書刻意開闊自己的視野,並間接影響自己的思維能力。

所謂 好記性不如爛筆頭。我一直強調,要自己多總結,多寫點筆記,記錄下自己的一些訓練,思考的東西。 這個記錄的過程,也是整理你自己思路的過程。多寫寫,不會有壞處。

同時,還可以把自己寫的筆記分享出來,可以找人多討論交流,碰撞思路。吸收更多人的想法和思維。

說說我學數學的經歷。我小學,初中,高中,數學都是我的最好的一門學科。為什麼特別好,就是自己對此很有興趣。前面說到的一些方面:

說這個,不是顯得自己多厲害。其實主要是自己有興趣去做這樣的事情,自然就能夠達到不錯的效果。我不是有什麼天賦,也算不上特別聰明。只是喜歡鍛鍊自己的思維能力。而在這個數學的學習過程中,我鍛鍊了自己的歸納,抽象,發散等等各方面的思維能力。

而且也形成了一套自己的方法體系:

比如數學歸納法,邊界判斷法,排除法,見微知著法,列舉法,差異法等等。

這些方法都是自己在不斷學習 錘煉數學思維過程中總結出來的。可能現在想想那個時候學的數學,好像沒有多少用。但是這種思維能力其實一直到現在對我都還有幫助。當然,當時數學學習鍛鍊的思維能力和總結的方法體系,對於我學習其他課程,也起到了積極作用。

解決問題的方法體系,其實是很有作用的。比如歸納法。我記得中學的時候乙個同學有了乙個諾基亞的手機,當時手機裡面有乙個遊戲(現在知道:其實就是漢諾塔,但是當時是不知道的,具體細節不解釋了,不知道的自己去搜尋吧)。很多同學都玩不出來,我看了一下,幾分鐘完成了。其實並不是我多聰明,而正是運用了數學歸納法。另外一道題,我在大學剛畢業的時候,在武漢找工作,看到了乙份醫院雜誌,全部都是 x科 和y科的廣告(***)。最後一頁,有一些智力題,其中一道題是這樣的,我當時也是運用歸納法秒解出來。

有個島上住著一群人,有一天來了個遊客,定了一條奇怪的規矩:所有藍眼睛的人都必須盡快離開這個島。每晚8點會有乙個航班離島。每個人都看得見別人眼睛的顏色,但不知道自己的(別人也不可以告知)。此外,他們不知道島上到底有多少人是藍眼睛的,只知道至少有乙個人的眼睛是藍色的。所有藍眼睛的人要花幾天才能離開這個島?假定所有人都很聰明,並且每個人都知道別人很聰明。

噓,到公司面試過的人都知道,這是一道面試題。

所以,在工作過程中,如果你發現自己的思維能力不夠,就需要運用各種方法來錘煉自己的思維,並總結自己的解決問題的方法體系,不斷積累豐富自己解決問題的方法體系,當然有的人並沒有刻意的總結,但是他們其實在不自覺間總結了,自己不知道而已。

如何培養創造性思維能力

請用四條直線,以一筆畫的形式 即筆不離紙 將下圖正方形中的九個點連起來。有點犯難,是不是?不要放棄,請繼續往下看,答案馬上揭曉。1.請跳出盒子思考 答案很簡單,是不是?解這道題的關鍵在於,在正方形範圍以外畫線。你解不出這道題的原因在於,被正方形框住了。哈哈!其實,在我們的腦子裡,類似的框框很多。這些...

編寫小程式,測試你的嚴謹思維能力

有隨便的一篇英文文章,把文章裡的所有的英文單詞都調取出來,比如 i am a chinese.so i love china.等等。輸出的結果就是 iam a chinese.so i love china 拋土坷垃引玉,我的解法 1using system 2using system.collec...

程式設計師如何提高抽象能力

之前寫過一篇文章,講合格程式設計師應該具備的能力,你是合格的程式設計師嗎?合格程式設計師應該具備的12種能力。裡面提到了抽象能力,就我看來,抽象能力是軟體從業人員最應該具備的能力。因為軟體開發領域涉及到的概念太多。正如brooks所說,為了獲得概念完整性,需要我們具備很強的抽象能力,需要我們運用抽象...