前端開發者,2017 年你應該學習什麼
在當今的快節奏生態中,我們都傾向於花時間嘗試最新的發明,然後在網路上進行激烈的辯論。
這裡,我並不是說我們不能這樣做。但我們的確應該把腳步放慢一些,並認真了解那些不會有很大變化的事情。這樣不僅會提升我們的工作質量和我們所創造的價值 —— 還將切實地幫助我們更快理解這些新的工具。
本文融合了我的個人經歷以及對新一年的希冀。正如我想熱切表達自己想法一樣,我也期待能在下方的評論表單中看到你的建議。
學習如何寫出可讀性高的代碼
我們多數的工作並不是編寫新代碼,而是維護已有代碼。這意味著你最終閱讀代碼的時間要比編寫它所花費的時間要長,所以你需要為之後需要閱讀你代碼的程序員優化代碼,而不是為了解釋器。
這裡我建議你按以下順序 — 由淺入深 — 閱讀下面三本書:
深入學習 JavaScript
現如今,每周都會出現一個新的 JavaScript 框架,並標榜自己比其他的任何舊框架都要好用。這樣的情況下,我們很多人更傾向於花費時間來學習框架,而且這樣也要比學習 JavaScript 本身要容易的多。如果說你正在使用框架,但並不了解該框架的工作方式,立刻停止使用它,並去學習 JavaScript,直到你能夠理解這些工具的工作方式為止 。
- 可以從 Kyle Simpson 的 你所不知道的 JavaScript 系列開始,這個系列可以在線免費閱讀。
- Eric Elliott 列出的一個長長的 2017 年:JavaScript 的學習目標。
- Henrique Alves 列出的 進行響應式開發之前必須了解的事情(實際上就是一個知識框架)。
- Mike Pennisi 的 JavaScript 開發者:注意你的語言 — 了解 ECMAScript 新特性的中 TC-39 發展過程。
學習函數式編程
多年以來,我們一直期待著 JavaScript 引入類,但真正引入類之後,我們卻不想在 JavaScript 中使用類了,我們只想使用函數。我們甚至使用函數編寫 HTML (JSX)。
- Kyle Simpson 的 輕量級函數式 JavaScript。
- Frisby 教授的 函數式編程完全指南 和 在線免費課程。
學習設計基礎知識
作為一個前端開發者,我們比這個生態中的任何人 —— 甚至可能是設計人員 —— 都要更加接近用戶。如果設計者必須去確認你還原在屏幕上的每一個像素,你或許做錯了某些事。
- David Kadavy 的《 黑客設計 》或對應的 免費課程。
- Tracy Osborn 的講座:為非設計人員的設計知識。
- Nathan Barry 的 《 Web 應用設計 》。
- Jason Santa Maria 的 《 Web 頁面設計 》。
- Alan Cooper 的 《 交互設計之路:讓高科技產品回歸人性 》。
- 兩篇關於 UI 動畫的文章:如何使用動畫來提高 UX、過渡界面。
學習如何與人協作
有些人很喜歡通過編程來與電腦進行交互,而非與人進行交互。不幸的是,這樣的結果並不是很好。
基本上我們不可能完全脫離群體來工作:我們總是需要和其他開發者、設計師以及項目經理 —— 有時候甚至要和用戶 —— 交換意見。這是比較難的任務,但如果你想要真正理解你在做什麼以及為什麼要這麼做的話,這一步是非常重要的,因為這正是我們工作的價值所在。
- John Sonmez 的《 軟技能:代碼之外的生存指南 》。
- Robert C. Martin 的《 代碼整潔之道:程序員的職業素養 》。
- Jim Camp 的 《 從零開始:專業人士不想讓你了解的談判工具 》。
學習如何為用戶編寫代碼
與同事或其他人的交流大部分是以文本的形式進行的:目標描述和評論、代碼注釋、Git 提交、即時聊天消息、電子郵件、推文、博客等。
想像一下,人們要花費多少時間來閱讀和理解所有以上提到的這一切。如果你可以通過寫得更清楚、簡潔來減少這個時間,世界將變成一個更好的工作場所。
- William Zinsserd 的《 寫作法寶 : 非虛構寫作指南 》。
- William Strunk 和 E. B. White 的《 英文寫作指南 》。
- 奧威爾寫作規則。
- 俄文:很好的 Glavred 課程。
學習以前的計算機科學智慧
前端開發已經不僅僅簡單的下拉菜單了,它前所未有的更複雜了。隨著我們所需解決問題的複雜度越來越高,聲名狼藉的「JavaScript 疲乏症」也隨之出現了。
這意味著現在需要學習非前端開發人員過去幾十年所積累形成的知識精華。而這也是我最想聽到你向我推薦的內容了。
以下是我個人給大家的推薦:
- Coursera 的 《 學習像計算機科學家那樣思考方式 》。
- DHH 的 對我意義非凡的五本書。
讀完本文,你有些什麼建議呢?在這新的 2017 年裡你又想學習些什麼呢?
作者簡介:
Web 開發者,充滿激情的攝影者,crazy dogs 的主人。
譯者簡介:
GHLandy —— 欲得之,則為之奮鬥 (If you want it, work for it.)。
作者:Artem Sapegin 譯者:GHLandy 校對:bestony
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive