DevToy

文件工作流程

適合工程團隊審閱的 diagram-as-code 工作流

透過定義所有權、原始碼邊界、PR 檢查與更新觸發條件,讓 Mermaid 圖保持長期可用。

發佈於 2026年7月11日 · 更新於 2026年7月11日

diagram-as-code 解決的是檔案格式問題,不是維護問題。文字圖表仍然可能變舊、誤導人,或者根本無法審閱。工作流必須說明這張圖為什麼存在、誰負責,以及哪些工程改動需要更新它。

每張圖只支援一個決策

在原始碼旁邊寫一句簡短的目的說明。「展示公開 API 的信任邊界」是可以驗證的;「系統架構」就太寬泛了,容易把所有元件都塞進一張圖裡。

根據要回答的問題選擇合適的圖類型。流程圖適合決策,時序圖適合互動順序,ER 圖適合資料關係,甘特圖適合輕量計劃。不要為了少幾個檔案就硬把所有視圖都放進同一種符號裡。

把原始碼放在相關文件旁邊

如果一張圖解釋的是某個 API,就把原始碼放在 API 文件附近,而不是放在遠處的設計目錄裡。物理上接近,更容易讓所有權和審閱發生。給原始碼起一個可預測的名稱,並且只有在發佈平台不能直接渲染 Mermaid 時,才匯出渲染產物。

如果同時提交原始碼和匯出的 SVG,一定要說明哪個檔案才是權威版本。生成產物不應該手工修改。

定義更新觸發條件

一份有用的 Pull Request 檢查單,應該寫清楚具體觸發條件:

  1. 新增、刪除或變更某個服務的所有權。
  2. 信任邊界或資料去向發生變化。
  3. API 呼叫變成非同步,或者多出失敗分支。
  4. 資料庫關係的可選性或基數發生變化。
  5. 文件中聲明的交付里程碑發生變化。

這種寫法比讓每個 PR 作者籠統地「如果需要就更新文件」更有效。

先審語意,再看外觀

審閱者應該先確認節點、關係、順序和標籤是否和實作一致,再看版面和顏色。一個視覺上很漂亮但基數錯了的圖,實際上是有害的,因為讀者往往會相信視覺結構。

讓變更足夠小,方便用文字 diff 審閱。穩定的節點 ID 和「一行一句話」能減少無關雜訊。如果一次格式化會把整個檔案重寫,應該把格式化和語意變更分開。

驗證發佈執行環境

不同 GitHub、文件生成器和嵌入式編輯器裡的 Mermaid 版本和安全策略都可能不同。新的語法應該在最終渲染器裡測試,或者明確標註所需版本。若圖表必須通過嚴格安全策略,最好避免互動連結和原始 HTML。

使用 Mermaid 編輯器 做本地迭代和匯出,但應把倉庫裡的原始碼和程式碼審查流程當作真正的長期資產。

相關指南