2018年前端工做小結,我的改變之旅,前端學習者的雜談

2019·杭州html

前端,兩年缺六個月。前端

換了一次工做,多了三兩個朋友。shell

也更懶了,但過去整整一年,或多或少要給出一個交代。編程

再也不學習新的框架/工具

都9102年了,小孩子才作選擇,成年人都是all in。框架

或許是以前走的太倉促,光記得拍照發朋友圈炫耀了,來不及欣賞旖旎風光。工具

是時候故地重遊了。post

開始持有一些原則。

原則,風格,以代碼的形式體現。作什麼,不作什麼,如何作,怎麼作更好。自始而終,貫穿全局,並經過持續的反饋來校準。性能

每一行代碼都存在理由。學習

開始糾結命名

截圖

開始被業務開發所困惑

寫好業務代碼比想象的更難 優化

截圖

開始思考怎麼寫好業務代碼的可能性

可讀性 > 性能

截圖

開始考慮對錯以外的事情,什麼是更好的,寫對=>寫好=>更好。

截圖

截圖

開始考慮代碼質量的控制

截圖

開始相信方法論,並用方法論來量化學習進度。

截圖
截圖

以及

  • 開始認識到基礎的重要性,進而從零開始去學習計算機基礎知識。
  • 開始從新學英語

閱讀

分享一下最近半年翻看次數最多的幾篇文章

好像都是圖,字數有些少,我就摘錄點文字僞裝不少字:)。


1、什麼是複雜性 Ousterhout 教授認爲,軟件設計的最大目標,就是下降複雜性(complexity)。所謂複雜性,就是任何使得軟件難於理解和修改的因素。

複雜性的來源主要有兩個:代碼的含義模糊和互相依賴。

  • 模糊指的是,代碼裏面的重要信息,看不出來。
  • 依賴指的是,某個模塊的代碼,不結合其餘模塊,就會沒法理解。

複雜性的危害在於,它會遞增。你作錯了一個決定,致使後面的代碼都基於前面的錯誤實現,整個軟件變得愈來愈複雜。"咱們先把產品作出來,後面再改進",這根本作不到。

2、複雜性的隔離

下降複雜性的基本方法,就是把複雜性隔離。"若是能把複雜性隔離在一個模塊,不與其餘模塊互動,就達到了消除複雜性的目的。"

改變軟件設計的時候,修改的代碼越少,軟件的複雜性越低。 複雜性儘可能封裝在模塊裏面,不要暴露出來。若是多個模塊耦合,那就把這些模塊合併成一個。

--如何下降軟件的複雜性?


邏輯就是問題的定義,好比,對於排序問題來說,邏輯就是「什麼叫作有序,什麼叫大於,什麼叫小於,什麼叫相等」?控制就是如何合理地安排時間和空間資源去實現邏輯。邏輯是程序的靈魂,它定義了程序的本質;控制是爲邏輯服務的,是非本質的,能夠變化的,如同排序有幾十種不一樣的方法,時間空間效率各不相同,能夠根據須要採用不一樣的實現。

程序的複雜性包含了本質複雜性和非本質複雜性兩個方面。套用這裏的術語, 程序的本質複雜性就是邏輯,非本質複雜性就是控制。邏輯決定了代碼複雜性的下限,也就是說無論怎麼作代碼優化,Office程序永遠比Notepad程序複雜,這是由於前者的邏輯就更爲複雜。若是要代碼簡潔優雅,任何語言和技術所能作的只是儘可能接近這個本質複雜性,而不可能超越這個理論下限。

--程序的本質複雜性和元語言抽象


寫在最後

回顧2017,時間能改變不少 2017年前端工做小結,我的踩坑之旅,前端學習者的雜談

對於2019,並無多少指望,只但願遇到更好的本身。

相關文章
相關標籤/搜索