Parlando Final Project 心得 by Awu

前言

真的很慶幸加入這個團隊,在跟 huiming 報名專案小組的前幾天其實我陷入了非常深的低潮,課程進度也開始不如自己預期,看著課程即將結束,感覺自己還是無法做出個什麼值得拿出來的作品,也不確定自己有沒有好好把課程學的扎實,但看到你們寫的規格書、mockup、資料庫規劃,當時真的蠻震撼的,因為我真的寫不出來,也無法想像自己的產品該長什麼樣子(19 週作業抱歉了 QQ,我真的交不出來)。第二次衝擊大概是某週的小組會議中,你們說到關於蛋炒飯的事情 XD,我們努力了半天做的作品其實對於資深的工程師來說搞不好就像平凡的蛋炒飯一樣,這句話影響了我蠻深的吧,我原本覺得一定要拿出屌到爆的作品才能找的到工作,因為我不是本科生、在履歷上也沒有特別的亮點,只能靠作品加分。但後來我就想說,既然我只會蛋炒飯,那我就做好我的蛋炒飯,把我會的東西做好就好,沒有必要要求到非常完美,我就蛋。因此我開始準備履歷第一版的作品-非常基本的餐廳官網,只有看菜單與訂位功能,加上會員與後台管理就好,沒有購物車沒有金流,做完之後莫名其妙就開始面試了,然後莫名其妙就找到工作了,不知不覺已經上班一週了,一切來得非常突然 XD。

我從這個專案學到什麼?

首先是一個產品從無到有的開發規劃,從線稿到 mockup、資料庫規劃、專案架構、版本管理,這是之前課程中沒有練習到的部分,透過這次實作讓我對產品開發不再那麼陌生,已經能大概了解整個流程,之後在工作上應該會很有幫助~

如果說有哪邊可以改進,最大的遺憾大概是我負責的部分 RWD 做的超爛 QQ,網站前台手機版幾乎不能支援,如果當初知道手刻 CSS 會如此困難,應該會選擇使用一些 CSS 套件像是 bootstrap、material UI、tailwind CSS 來幫助切版。再來則是 React 的效能調教,有很多像是 useCallback、useMemo 等好用的 hook 我都沒有使用,雖然網站看起來沒有卡卡的,但背後的程式碼應該還是有改進空間。

測試的部分其實不夠完善,整個前端都是自己手動開網站出來測功能,一來一往花費太多時間,可以利用像是 cypress 來讓測試自動化,也比較能避免漏掉哪邊沒測到,發生功能默默壞掉我們卻不知道的慘狀 XD,但時間實在有限,為了把功能先做出來搞定就消耗不少時間,就沒有去考慮可以怎麼做測試,而且做到最後會有種好累喔我不想測 QQ,我不想知道哪裡又壞掉了的心態,也許正因如此才應該要把測試自動化,免得自身怠惰影響專案品質。

前端部署的部分也可以更好,gh-page 其實有自動部署的功能但沒有用到,而且因為版本管理的失誤導致我跟另一位前端阿里蓉蓉常常會部署舊版本的網站上去 XD,一上線發現欸??那邊我不是修好了嗎XD,怎麼又爆了,然後重新部署後別的東西又爆了 orz,但這種犯錯經驗很寶貴,之後就知道要想辦法避免~

跟組員溝通的過程很寶貴,因為我從來沒有跟別人口頭討論過程式問題,技術本身有它的難度,很抽象且難以說明,但在團隊裡總是得跟別人溝通讓雙方有共識,才不會做出來的東西跟大家的想像有出入 XD,而且把想法說出來也會加深自己的理解,但我覺得最保險的方式是寫成規格書,口頭討論有時候真的會忘記當初定了什麼 XD。

結語

最後再祝福一下 huiming 跟 阿里蓉蓉,感謝你們的付出,謝謝你們願意每天來 DC 開 livecoding 或聊聊天 XD,雖然我早上幾乎爬不起來 orz,當初原本是想督促自己早上要起來寫 code 的,但冬天實在太難起床了 QQ,對不起。

祝其他課程的同學找工作順利,要相信自己的能力~不要被壞老闆的砍薪水話術影響了。

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store