iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
Vue.js

完成_個人健康習慣追蹤相關功能網站系列 第 24

程式碼凍結 & 專案整潔(Repo Hygiene)

  • 分享至 

  • xImage
  •  

到現在,今天已經是第 24 天了!我覺得這不再是一個「加新功能」的階段,而是一場「回頭打掃」的儀式。過去這二十幾天,忙著讓網站能動、能顯示、能切換、能寄信,但隨著功能的增加,程式碼也變得越來越厚、越來越亂,每次打開專案資料夾,都覺得那像是一張沒有收拾的書桌,到處是筆記、便條、測試片段,今天,我希望讓這一切重新整齊起來。

首先,需要做的第一件事就是重新整理整個 src 結構,以前的檔案東一個西一個,有的放在根目錄、有的藏在 components 裡,現在我將規劃清楚每個層級把 components 放可重用元件(Header、Toolbar、TaskList...),pages 放頁面級元件(Home、About),utils 處理邏輯運算(tasks、validators),composables 管理狀態鉤子(useLocalStorage),constants 放統一的 key 與名稱,還有 locales 管理中英文翻譯檔,這個整理過程就像替房子劃分房間,廚房該煮飯、書房該思考、客廳該聊天,這樣一來,程式的「可理解性」就一步步被帶出來了!

接著需要做的是「命名統一」,在之前的版本裡,我經常用手打字串,例如 tasks、theme、lang、home 等,每次新增一個功能,就多打一個 key,也多一份出錯的機會,於是我建立了 src/constants/index.js,統一定義 STORAGE 和 ROUTE 常數。未來只要用 STORAGE.TASKS 或 ROUTE.HOME,不但更清晰,也能避免 typo,屬於那種「短期沒感覺,但長期絕對省事」的細節,為此我也把一些不必要的 alias 路徑,改成更穩定的相對路徑。

在整理程式的同時,我又順手微調了畫面,前一版裡,checkbox 是一個黑方塊,看起來和整體色系格格不入,於是我重新設計它的樣式,改成柔和的藍底白勾;All、Todo、Done 的 tab 按鈕邊界也更明顯、hover 狀態更清楚;整個 UI 在深淺主題下都有一致的對比度,這些小改動讓畫面重新有了呼吸感,希望「每一次點擊」都讓人覺得順眼。

結構整理完,我進行了最關鍵的驗收測試。在全新資料夾重新 clone 專案,只執行 pnpm i && pnpm dev,並沒有報錯,畫面正常,切換語言、主題、篩選任務、勾選完成、刪除、localStorage 保存都完全沒問題,期待下一篇文章吧!


上一篇
防呆與表單體驗升級
下一篇
任務邏輯全面抽離:從程式到架構的蛻變
系列文
完成_個人健康習慣追蹤相關功能網站25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言