mentorship-program icon indicating copy to clipboard operation
mentorship-program copied to clipboard

[Week33] ShawnL

Open shawnlin0201 opened this issue 4 years ago • 0 comments

今天討論了什麼?結論是什麼?

最近家裡發生很多不太愉快的事情得處理,導致前端引路人計畫中斷有點自責……但因為還是很喜歡寫程式又不想放棄所以還是想要回來回饋導師上次建議完後,我在這幾周中學習的內容:

關於最後一期報告的是有關於 Junior 學習面向 的抉擇 ,當時導師建議了我往 JS 底層、資結、OS、網路等方面的底層知識前進,而非學習各種工具。

而礙於當時家庭環境因素,真的很難定下心來寫程式,即便在外面寫還是得回到家面臨同樣的問題。

心情低落到一種程度後覺得這樣下去不行,想找找事情來做;後來接續報名了六角學院主辦的文章鐵人、英打鐵人,除了持續訓練自己撰寫文章與整理的能力之外,另一方面是本身就喜歡這種活動,又可以藉由寫文章脫離那種心情,所以就果斷報名了。

參賽後也因為蠻喜歡 文章鐵人 的比賽,寫了一個 鐵人賽文章搜尋器

另外因為公司主要使用框架 Vue.js 即將推出 3.0 版,看了幾篇文章後對於其中有幾個議題很感興趣,所以自己嘗試寫了一個遍歷解析 DOM 後,能接 data 渲染 double curly quote {{}}與辨識自訂標籤的 Lighten.js

而寫這些工具的過程中我也漸漸認識到自己不足的部分,於是開始閱讀有關於 JS 的一些基本功: 無暇的程式碼 :https://www.tenlong.com.tw/products/9789862017050?list_name=rd 另外公司的同事也介紹了這本書: 重構 | 改善既有的設計:https://www.tenlong.com.tw/products/9789865021832

看的過程中,一邊實際在上述的個人專案與公司專案上實行,漸漸瞭解到學習的脈絡:

我得出對於 junior 來說其實 設計模式 是 整理重構 後精華,如果沒有重構的經驗,實在很難體會設計模式這件事情。(雖然之前就懂,但沒實際自己做過這件事情就很難體會到這句話的意思 XD)

至於為何會想要有無瑕與重構的衝動,我想就是源自與自己對那些專案的熱情吧……!

我想維護舊專案時,要如我沒來維護過一樣,專案仍然是他原本美好的模樣。 我想開啟新專案時,要使它能夠輕易地被別人閱讀,並要脈絡要如同故事一般的敘述。

所以,雖然我消失了幾周,但我沒有放棄寫扣,並且還找到了當初所迷失的方向,沉迷於其中後,我也逐漸將其它不愉快的事情漸漸淡出(雖然還是沒解決)。所以接下來我應該會繼續以閱讀為輔,重構為主繼續寫一段時間,等機會到了再來轉戰設計模式。

而重構的專案目前會以個人專案、 鐵人賽文章搜尋器 與公司專案中一些比較好整理的程式碼段落為主,有比較完整的時間會看看 LIOJ 的內容並且寫寫相關的內容(如 codewar)來訓練邏輯。

而後 Huli 也分享了他最近對於導師計畫與目前做的事情的看法:

當你寫了夠多 code 而且重構過,並且一直有著「想把 code 寫好」的這顆心,就算沒看過 clean code 還有設計模式,我覺得影響也不至於太大。

我想這就是最初那批寫出無暇與重構這些書籍作者的心態吧?畢竟當時他們可能也沒有其他資源可以參考,憑藉的就是自己想寫好 code 的心。

會出現如不知道無暇、重構、甚至是一些工具與框架,我自己想想,很大很大的原因是現在程式開發進步的速度與投入的人力已越來越多,另外自己也是資策會出來的,如果沒有一個前因背景去瞭解這些歷程,真的很難很難體會很多事情背後所做的事情的理由(但也因此我也嘗試了很多有的沒的 XD)。

最新的進度是什麼?

  • 連續二十一天英打鐵人完賽。
  • 撰寫無暇的程式碼第三篇文章-函式

下次報告前要完成哪些事項?

  • 完成無暇的程式碼第三篇文章-函式,並開始寫第四篇-註解。

其他心得

嘗試寫了 Lighten.js 時,刻意模仿框架的特色功能下去撰寫,慢慢開始能體會到一些深度討論框架文章(如某某功能底層如何實現)等等,因為能從中比較自己寫的與框架所做的差異,近而更貼近框架開發者當時開發時的心歷路程。

shawnlin0201 avatar Apr 21 '20 02:04 shawnlin0201