<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            學習技術的三部曲:WHAT、HOW、WHY

            時間:2020-11-01 13:35:06 職場動態 我要投稿

            學習技術的三部曲:WHAT、HOW、WHY

            最近幾天有些網友在郵件里面問我關于學習的問題。有很多人覺得工作了幾年,也學會了不少的類庫、框架、甚至語言,但是感覺自己的能力沒有太大的提高。因此今天來?說一下我個人對這方面的體會。

            學習技術的三部曲:WHAT、HOW、WHY

            我把學習歸類為三個步驟:What、How、Why.經過我對周圍同事和朋友的觀察,大部分感覺自己技術沒有提高的人,都僅僅停留在What階段。下面我把這三?個步驟解釋一下。

            *第一步:*WHAT*

            所謂的"*WHAT*",就是搞清楚某個東東是什么?有什么用?有什么語法?有什么功能特性?……

            對于學習語言(比如C++、Java),大部分人都能夠掌握基本的語法和標準庫,然后用它寫一些小程序(諸如二分查找、冒泡排序、簡單文件操作等),對于學習類庫(比如JDBC類庫),大部分Java程序員都能明白JDBC主要包含哪些類,也能夠用JDBC進行簡單的數據庫查詢和增刪改操作。

            由于這個步驟是最基本的,假如你連這都做不到(可能你的理解力不夠好),也別在IT界混了。但是光會What是不夠的。僅僅停留在這個步驟,導致了很多程序員*只知其然,不知其所以然*.這就是目前大部分開發人員的現狀。

            *第二步:*HOW*

            所謂的"*HOW*",就是搞清楚某個東西是如何運作的?實現機制如何?等一系列相關問題。

            舉例如下:

            假如你在學習C++語言,你是否搞明白函數傳參數的實現機制?虛函數是如何實現?拋出異常時的`棧回退是怎么回事?……
            假如你在學習Java語言,你是否搞清楚GC如何實現?反射是如何實現?……
            假如你在學習JDBC庫,你是否清楚JDBC Driver的4種類型?不同游標類型的實現機制?事務的機制?……

            在這個階段,你必須多想想類似這些問題。然后通過各種途徑,把問題徹底搞清楚。自然而然,你的提高就會比較明顯。而且如果碰到一些深層次的問題(比如性能優化),也就知道該如何解決。

            完成這個階段之后,你基本上就屬于該技術領域最優秀的20%的人,80%的人不會去思考HOW的問題)。

             

            *第三步:*WHY*

            一般來說,只有你把HOW的問題想清楚,才開始考慮步驟WHY.所謂的"*WHY*",就是搞清楚某個東西為什么設計成這樣?為什么不是另外的樣子?這樣的設計有什么講究?說實在的,善于問"為什么"有一定的天賦成分?好像某個科學大牛曾經說過"提出問題有時候比解決問題更難".一般來說,只有當你深刻理解了某個東西,才能夠針對這個東東的設計問出一些問?題。所以,我前面強調過,要先把HOW的問題搞清楚,再來考慮WHY的問題。

            舉例如下:

            對于C++語言:為什么C++沒有類似Java的finally關鍵字?為什么C++當初沒有考慮GC?……
            對于Java語言:為什么Java沒有類似C++的類析構函數?為什么Java要同時提供String和StringBuffer兩個似乎冗余的類?……?.

            如果你能夠自己問出諸如上述的"為什么"問題,并且能夠通過各種途徑找到解答,那你基本上已經吃透這個技術了,并且你已經*有可能*

            自己去設計一個類似的玩意兒了。到這時,你已經踏上了通向技術高手的康莊大道。


             

            【學習技術的三部曲:WHAT、HOW、WHY】相關文章:

            新gre閱讀技巧之從what到how11-11

            How to Assess a Resume?11-18

            What is your weakness?11-20

            排球墊球技術的學習10-31

            新技術學習總結12-09

            Why did you leave your last job?11-20

            How to get a job salary11-17

            如何學習排球的發球技術10-31

            學習思科網絡技術的原因08-13

            網球單反技術如何學習09-16

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看