一個 Full Stack Developer 的日常

一個 Full Stack Developer 的日常
作者: Calpa Liu
字數:1492
出版日期:May 30, 2022
更新日期:December 7, 2023
#反思過去

我在今年 3 月初的時候,透過 Mind Map 整理自己作爲 Full Stack Developer 的日常,並且花了很多時間去改善日常工作流程。最近我有點時間,於是就把那份 Mind Map 寫成文章,希望可以繼續拋磚引玉。謝謝大家支持

Time Management

每天我都有 24 個行動點數,需要做每日任務。而一天我都會分配 8 個工作行動點數,會議大概會用了 1 小時,那麼剩下 7 個可動用點數用於推動主線任務。

首先,我會看有哪些任務是已經委派給我,而這些任務的優先次序又是怎麼樣的。

在開始寫代碼之前,我會進入拆解問題的過程。找到與問題相關的持份者,列出需要哪些工具去解決這個問題,預估需要多少時間來完成這個任務。

如果可以只是修改團隊內部的代碼的話,那麼就可以開始動工。但如果需要找其他團隊的話,那麼就需要跨團隊溝通。如果是可以直接找到持份者的話,那麼就可以直接 Slack 他們,但是如果他們沒有反應的話,那麼就要再想辦法去接觸問題的根源。

Coding Time

進入開發模式的時候,我會開始計時,確保自己沒有浪費很多時間雕花。

我會根據之前定下來的開發步驟來開發,確保自己在正確的道路上堅定不移行走。我同時也會寫下註釋,以便未來的自己或其他人可以看懂這些代碼,尤其是 Magic Number

如果要開發一個新的網頁功能,我會先找原型圖。我會利用現代前端框架,例如 React.jsVue.js 開發,也會使用一些常見的 JavaScript 工具,例如 lodash。我也會使用 UI Farmework 來幫忙做網站排版,例如利用 Material UI 的 Grid 來達到 Responsive Design。

如果要解決舊有的問題的話,我需要細分到底是 UI 問題 還是 邏輯問題,我會利用 console.log 和 debugger 找出相對應的代碼。

如果網站流量大的話,我們就需要考慮如何提升網站性能,例如網站的載入速度,首屏時間,例如使用 Virtual DOM 來避免瀏覽器渲染頁面的 Heavy 工序,又或者是從伺服器性能入手,又或者利用 CDN 加速用戶載入資源的速度。

做好伺服器的性能監控,優化,確保服務長期在線。

寫好代碼之後,我就會把它推上去 GitHub,提交 Pull Request,然後觸發線上的測試流程。

如果一切都好了,那麼就可以進入部署的階段。我會利用 GitHub Actions 部署新的 Docker Image 到 Server 。又或者我會透過 Jenkins,觸發遠端的伺服器去把 GitHub 上的代碼拉下來,然後安裝再執行。

對於同伴給予的 Pull Request,我會 Code Review,並且在本地測試效果,確保可以達到預期的效果。

除了日常開發之外,我還會協助導入新技術,分享我在日常學會的技術,技能,無論是日常上的技巧,還是前端後端的知識。

如果手上的工作都做得差不多的話,那麼我就會想如何改進系統的架構。

Refactor

重構代碼也是很重要的。不過重構之前,我們需要有系統的架構圖,知道系統是如何運作的,爲什麼系統會這樣運作?這個系統的歷史又是怎麼樣的?當我們對於系統有相當的認識之後,我們就可以針對系統進行更新或重構。不過記得做之前,用 Git 做版本管理,寫好單元測試,這樣就可以大膽地把代碼砍掉重煉。

結束一個回合之前,我會整理當天做過的事情,以及明天的 TODO。

感謝您閱讀我的文章。歡迎隨時分享你的想法。
關於 Calpa

Calpa 擅長使用 TypeScript、React.js 和 Vue.js 開發Responsive Web Design網站。

此外,Calpa 積極參與香港和台灣的開源社區,曾在2019年的香港開源大會上擔任講者,提供工作經驗和見解。此外,他也在 GitHub 上公開分享個人博客程式碼,已獲得超過300顆星星和60個分支的支持。

更多前端開發技術文章:傳送門