《程式設計的原則》重新發明車輪感悟之循序漸進

明明如月學長發表於2020-12-27

一、背景

前一段時間有朋友說“學習的最好方式就是創造”,即想學某個原始碼,就自己寫一套。
果真如此嗎?
今天讀《程式設計的原則》有講到,可以為了學習的目的而創造。
下面是其中一個節選:
在這裡插入圖片描述

二、學習的原則

2.1 循序漸進

萬事萬物無非是兩個維度,一個是時間維度,一個是空間維度。
從時空維度來講,學習通常需要循序漸進、先易後難、先整體後區域性(先區域性後整體)。

日本劍道有一個非常有名的原則 “守、破、離”

守」,一切盡量遵守教條,練習基本功夫直到熟練。這個階段專心學習一種實務,比學習各種理論重要。
「破」,開始打破一些規範限制,可以因地制宜靈活運用。這個階段開始思考理論,也會參考看看其他門派是怎麼做的。
「離」,超越所有規範的限制,自創一格,達到無招勝有招的境界。

這和所謂的“循序漸進”的思想差不多。


這裡的學而思其實和 PDCA 理論很相似

你想你的能力就在這裡了,你想提高註定就要和現在有些不一樣,肯定要改缺點提高優點,那你怎麼找到缺點不對的地方,就需要反思(思考)

這個和機器學習演算法調優差不多,如果沒有實驗結果的檢查,怎麼知道好壞

很多牛逼的人要不然善於思考 要不然喜歡讀書 甚至二者皆有

要不然就說程式設計師就靠著 Google 百度 StackOverflow
就像程式設計的時候很多你需要的庫,人家也遇到過,都已經有開源的了

就像很多人寫(研究生)論文,你會發現哪個領域幾乎都有牛逼的人,好的演算法,雖然寫一個新的很厲害,但是大多數也就改改引數,幾個演算法綜合一下,能有一點點改進就可以發不錯的論文了


實際學習和工作中技術不好的主要原因有兩個方面:學而不思、思而不學。

還是孔子那句話:學而不思則罔,思而不學則殆 真的是經典
很多人就是TL說怎麼設計就怎麼設計 學而不思 面試的時候問你為啥這麼設計就涼了

還有些人是思而不學,想的挺多的 但是基礎不紮實 或者懶 導致無法落地 或者想的脫離實際

2.2 以終為始

有些人會說你“從設計者的角度學程式碼” 是幫助自己學習和理解的一個好方法 。
但是這不是目的!
學習的目的還是學以致用 能夠在工作中靈活運用原始碼的技巧 思想

三、總結

總之學技術要遵循規律,循序漸進、先易後難,然後學而思。

相關文章