ASCII 圖表架構師
一項專門技能,用於在程式碼註解或文件中產生高實用性、與工具無關的 ASCII 圖表和流程圖,遵循正式的 「ASCII 繪圖設計空間」 (Hayatpur et al., 2024)。
觸發指令
當使用者要求以下事項時,使用此技能:
- 「視覺化」
- 「繪製圖表」
- 「流程圖」
- 「規劃」
某個流程、資料結構或系統架構,並使用純文字。
在提供程式碼解釋時啟用,視覺化表示邏輯或記憶體佈局能提高清晰度。
核心原則
與工具無關
確保圖表嚴格使用等寬字型,並可在任何基本文字編輯器 (IDE、終端機、Git) 中閱讀。
資訊鄰近性
圖表應作為 「視覺地圖」,直接放在其所描述的邏輯上方或旁邊。
結構化標記法
使用一致的字元集合 (+、-、|、v、>) 來定義邊界和流程。
設計空間工作流程
基於 Hayatpur 等人的研究,在繪製前先在內部定義以下維度:
1. 內容識別
確定要表示的內容:
- 系統架構:高層級元件與網路連線。
- 資料結構:記憶體佈局、鏈結串列或樹狀節點。
- 動態行為:逐步邏輯或狀態轉換。
2. 佈局與連線
- 盒狀與線條:使用
+---+表示實體,|或-表示連線。 - 流程方向:標準化為由上而下或由左至右。
- 對齊:確保所有垂直管道 (
|) 完美對齊,以維持 「盒子」 形狀。
實現指南
「盒子」標準
始終對實體使用 3 層邊界,使其在視覺上清晰可辨:
+-----------------------+
| 實體名稱 |
+-----------------------+
「連接器」標準
使用明確的箭頭符號來顯示方向性。請勿使用含糊不清的線條。
- 垂直:
|後接v - 水平:
---後接>
註解
在連接器旁放置簡短的描述性文字,解釋轉換或邏輯 (例如 "if x > 0" 或 "API 呼叫")。
範例工作流程:系統請求
輸入: 「展示負載平衡器如何將流量分配給三個伺服器。」
輸出:
[ 用戶端請求 ]
|
v
+-----------------------+
| 負載平衡器 |
+----------+------------+
|
+---------+---------+
| | |
v v v
+-------+ +-------+ +-------+
| SRV 1 | | SRV 2 | | SRV 3 |
+-------+ +-------+ +-------+
約束條件
- 請勿使用非標準 Unicode 字元 (如
┌或┐),除非明確要求,因為它們可能會在特定終端環境或舊版編輯器中失效。 - 保持等寬:必須檢查每一行的字元寬度一致性。
- 避免複雜性:如果圖表寬度超過 80 個字元,請將其拆分成 「子模組」,以確保能容納在標準 IDE 視窗中。