前端生態系統高速發展,我們把時間花費在嘗試新技術並在網上討論它們。我並非指不該如此,但也許我們可以放緩腳步,去多關注下那些變化不大的東西。這些東西能很大程度改善工作質量,提升工作價值,幫我們去理解新的工具。
這篇文章裡有我自己過往的經驗也有新年的計劃,同時也希望能收到你們的反饋。
學習如何編寫可讀的程式碼
我們大多數的工作不是寫新程式碼,而是維護既有的程式碼。這也就意味著你讀程式碼的時間要遠多於寫碼的時間,因而你需要為你下一位維護程式碼的同事來優化程式碼,而非為直譯器來優化。
我推薦大家閱讀這幾本很棒的書,由薄到厚,按下面順序來閱讀:
- 《編寫可讀性程式碼的藝術》 作者是Dustin Boswell
- 《程式碼整潔之道》 作者是 Robert C. Martin
- 《程式碼大全》 作者是 Steve McConnell
深入學習JavaScript
幾乎每週都有一款優於老框架的新JavaScript框架出現,這使我們很容易把大部分時間花在學習新框架而非語言本身上。如果你正在使用一個框架,卻不知道它是如何執行的,一定要先停下來並開始學習語言本身,直到你理解了這個框架如何執行為止。
- 你最好是從Kyle Simpson的 《你不知道的 JavaScript》系列書籍開始,也可以線上免費閱讀
- Eric Elliott為你需要在2017學習的JavaScript主題開出了一份大清單.
- Henrique Alves 也提供了一個關於在使用React(實際上是任何框架)前需要具備的知識列表
- 《JavaScript Developers: Watch Your Language》 作者Mike Pennisi ,可以瞭解TC-39新增ECMAScript新特性的程式。
學習函數語言程式設計
一直以來我們都希望JavaScript擁有類。現在我們終於擁有了,但我們卻一點也不想使用,函式才是我們最想用的!甚至我們都用函式來寫HTML(JSX)。
- 《Functional-Light JavaScript》,作者 Kyle Simpson.
- Frisby教授的電子書 《Mostly adequate guide to functional programming》 和 免費課程.
學習關於設計的基礎知識
作為前端開發人員,我們在團隊中比任何人都要接近使用者,甚至比設計師還要接近。當設計師不得不核對你頁面上的每個畫素時,說明你犯錯啦。
- 《Design for Hackers》: 書和免費課程.
- 《Design for Non-Designers》,Tracy Osborn.
- 《Design of Web Applications》,Nathan Barry.
- 《On Web Typography》,Jason Santa Maria.
- 《The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity》,Alan Cooper.
- 《A few articles on animation in UI》: 如何使用動畫去提升使用者體驗, 介面過渡效果.
學習與他人合作
我們中很多人都是因為更想與計算機而非與人交流而選擇程式設計,但不幸的這樣行不通。
我們平時很少是獨立工作的: 大多時間都要同其他開發人員、設計師、產品經理,甚至有時同使用者交流。 雖然很難,但是如果你真的想了解自己在做什麼並且為什麼這麼做,這就很重要了,畢竟這才是我們所做工作的價值所在。
- 《軟技能: 程式設計師生存手冊》,John Sonmez.
- 《程式設計師的職業素養》,Robert C. Martin.
- 《從無到有》,Jim Camp.
學習為人寫作
我們日常與同事和其他人的大部分交流都是文字性的:任務描述和評論、程式碼註釋、Git提交資訊、聊天資訊、郵件、tweets部落格文章等等。
想象一下人們需要花費多少時間來閱讀並理解這些內容。如果你能夠通過寫的更加清晰簡明來減少這些時間耗費,工作氛圍肯定會變得更棒。
- 《論優良寫作》,William Zinsser.
- 《風格的要素》,William Strunk 和 E. B. White.
- 《Orwell的寫作法則》.
- 在俄羅斯,有非常棒的 Glavred課程.
學習傳統的電腦科學知識
前端開發不再是做簡單的下拉選單動畫。它的複雜度達到了前所未有的程度,由於前端解決的問題越來越複雜,不可避免地出現了讓人深惡痛絕的“JavaScript疲勞症”
因此,我們需要去學習非前端開發人員在過去幾十年積累的電腦科學知識。同時,也希望聽到你們的建議。