《程式設計的原則》重新發明車輪感悟之循序漸進
一、背景
前一段時間有朋友說“學習的最好方式就是創造”,即想學某個原始碼,就自己寫一套。
果真如此嗎?
今天讀《程式設計的原則》有講到,可以為了學習的目的而創造。
下面是其中一個節選:
二、學習的原則
2.1 循序漸進
萬事萬物無非是兩個維度,一個是時間維度,一個是空間維度。
從時空維度來講,學習通常需要循序漸進、先易後難、先整體後區域性(先區域性後整體)。
日本劍道有一個非常有名的原則 “守、破、離”
守」,一切盡量遵守教條,練習基本功夫直到熟練。這個階段專心學習一種實務,比學習各種理論重要。
「破」,開始打破一些規範限制,可以因地制宜靈活運用。這個階段開始思考理論,也會參考看看其他門派是怎麼做的。
「離」,超越所有規範的限制,自創一格,達到無招勝有招的境界。
這和所謂的“循序漸進”的思想差不多。
這裡的學而思其實和 PDCA 理論很相似
你想你的能力就在這裡了,你想提高註定就要和現在有些不一樣,肯定要改缺點提高優點,那你怎麼找到缺點不對的地方,就需要反思(思考)
這個和機器學習演算法調優差不多,如果沒有實驗結果的檢查,怎麼知道好壞
很多牛逼的人要不然善於思考 要不然喜歡讀書 甚至二者皆有
要不然就說程式設計師就靠著 Google 百度 StackOverflow
就像程式設計的時候很多你需要的庫,人家也遇到過,都已經有開源的了
就像很多人寫(研究生)論文,你會發現哪個領域幾乎都有牛逼的人,好的演算法,雖然寫一個新的很厲害,但是大多數也就改改引數,幾個演算法綜合一下,能有一點點改進就可以發不錯的論文了
實際學習和工作中技術不好的主要原因有兩個方面:學而不思、思而不學。
還是孔子那句話:學而不思則罔,思而不學則殆 真的是經典
很多人就是TL說怎麼設計就怎麼設計 學而不思 面試的時候問你為啥這麼設計就涼了
還有些人是思而不學,想的挺多的 但是基礎不紮實 或者懶 導致無法落地 或者想的脫離實際
2.2 以終為始
有些人會說你“從設計者的角度學程式碼” 是幫助自己學習和理解的一個好方法 。
但是這不是目的!
學習的目的還是學以致用 能夠在工作中靈活運用原始碼的技巧 思想
三、總結
總之學技術要遵循規律,循序漸進、先易後難,然後學而思。
相關文章
- 務實發展,循序漸進
- 循序漸進學加密加密
- 循序漸進linux(二)Linux
- 循序漸進DIY一個react(二)React
- 循序漸進DIY一個react(四)React
- 循序漸進DIY一個react(三)React
- 循序漸進理解TypeScript型別模式TypeScript型別模式
- 循序漸進DIY一個react(一)React
- 設計原則之【介面隔離原則】
- Matplotlib學習筆記2 - 循序漸進筆記
- 【Python語法】循序漸進理解閉包Python
- 設計原則之【單一職責原則】
- 設計原則之【開放封閉原則】
- 設計原則之【依賴反轉原則】
- 設計原則之【裡式替換原則】
- Javascript 設計模式之設計原則JavaScript設計模式
- 循序漸進的用js實現一個bind()JS
- 循序漸進掌握遞迴正規表示式遞迴
- 使用C#的後端Web API:循序漸進教程後端WebAPI
- 設計原則之【迪米特法則】
- 開閉原則——物件導向程式設計原則物件程式設計
- 感悟我的程式設計之路程式設計
- 循序漸進!開展零信任建設時應做好的16項準備
- Mysql研磨之設計索引原則MySql索引
- 循序漸進體驗玩法和故事,從《八方旅人》談遊戲關卡設計遊戲
- 設計模式的設計原則設計模式
- Java的SOLID程式設計原則 - Filippo BulettoJavaSolid程式設計
- 設計模式之7大原則設計模式
- 循序漸進學.Net Core Web Api開發系列【14】:異常處理WebAPI
- 循序漸進學.Net Core Web Api開發系列【4】:前端訪問WebApiWebAPI前端
- 循序漸進 Redis 分散式鎖(以及何時不用它)Redis分散式
- 循序漸進學.Net Core Web Api開發系列【9】:常用的資料庫操作WebAPI資料庫
- 設計原則
- 設計原則:開閉原則(OCP)
- 設計原則 設計模式設計模式
- 【設計模式】設計原則設計模式
- 設計模式 - 設計原則設計模式
- Unix哲學17條原則的新感悟