快速學習新技術的幾條建議

csdn發表於2013-09-13

  面對現在更新迅速的新技術,如何快速掌握,以滿足工作的需要,是大部分開發者所面臨的問題之一。它或許影響著你未來職業生涯的發展。 Hanneli Tavante近日在Our Daily Codes網站上發表了一篇文章《Tips for learning a new programming language (when you already know one)》,正是針對該問題展開。開發者或許可以從該文中找到問題的解決之道。下面為該文的譯文。

  當開發者們開始一個新專案,或者想轉變成一個新的團隊,往往需要學習新的語言、工具和框架。

  我有一些同事,因不得不用他們不太瞭解的技術工作而備受煎熬。他們表示這樣做很沒安全感,也不可能掌握新工具的所有詳細資訊。經過多年的軟體開發,我所瞭解的重要一點是,你不需要100%的瞭解所有語言和框架。在小專案中,你可能會用到一些特殊的技術,而這些在你的一生中僅可能用這麼一兩次,你也不可能因為狂愛該技術而鑽研它的全部內容。所以在這種情況下,你只需要瞭解工作中所必須的那部分技術即可。

  我並不是說你不需要深入瞭解任何技術。我認為你應該精通兩、三種語言,對其他語言基本掌握即可,尤其是你工作環境經常變化的情況下。當你不得不學習新的語言,以按時完成工作時,你首先需要開啟思維學習“基本的部分”,不要學習該技術的100%。你不需要成為所有技術的專家!而且,通常當你已經很好地掌握兩、三種語言後,就可以很容易掌握新語言的基本技術。

  有些人曾問我:“有沒有快速學習新語言的方法?”。以我看來,並沒有萬能公式,但我通常會按以下簡單步驟來學習任何語言中的基本技術。

快速學習新技術的幾條建議

  基本上,我首先要做得是安裝該語言所需的最簡單執行環境。例如,在Mac上用Ruby程式設計,我將下載安裝程式,並通過IRB在終端上使用Ruby。這是使用該語言的最簡單方法。下一步要做的是,編寫一些基本的程式——建立並列印變數、建立並呼叫函式。該過程上是十分重要,它們可以幫助你熟悉語言的結構。假如你所學的語言遵循面對物件(Object Oriented,OO)原則,接下來你可以採用以下步驟:

快速學習新技術的幾條建議

  正如你所看見的,這些步驟運用到一些基本的物件導向原則——建立一個類、新增屬性與方法、建立物件。我們還可以利用TDD(測試驅動開發)對該過程進行改進——提前寫好測試程式碼可以幫助我們更快地學習和記住新的語言。所以有了下面的學習過程。

快速學習新技術的幾條建議

  基本上,在應用OO技術之前,先寫測試程式碼,觀察未通過測試部分(紅色顯示),編寫最簡單的程式,觀察通過測試的部分(綠色顯示),在OO原則的基礎上對程式碼進行重構以獲得更完美的程式碼。

 (注:我通常採用這樣的測試驅動開發原則:編寫測試程式碼—>觀察紅色顯示部分—>作出最簡單修改,使紅色部分轉變為綠色—>進行重構。)

  接下來是學習類和物件之間的關係、繼承、多型性及其他OO原則。以我個人來言,上述步驟十分有效。當然,如果我使用某些函數語言程式設計語言,那針對OO的步驟也就無法使用了。此外,結對程式設計也不錯。當你正嘗試學習某種語言,找一個簡單的問題,如Fizz buzz,和一個對該語言有經驗的開發者通過結對程式設計實現它。

  如果你確實喜歡某種新語言,那可以考慮繼續深入學習。如果並不喜歡它,至少你可以利用它完成工作。(編譯:陳秋歌 審校:夏夢竹)

  原文連結:Tips for learning a new programming language (when you already know one)

相關文章