Skip to main content

Command Palette

Search for a command to run...

Roo Code - 模式

Published
•1 min read•View as Markdown

🧭 Roo Code 各模式功能筆記

1. 🧑‍💻 Code Mode(程式撰寫模式)

  • 用途:協助撰寫、補全、優化程式碼。

  • 特性:

    • 適合撰寫 Controller、Service、Validator、Model 等實作內容。

    • 支援單一函式撰寫、模組切分、元件建議。

    • 搭配 Roo 的選取區塊能快速補齊函式內容或範本。

  • 常見使用情境:

    • 建立 RESTful API 控制器。

    • 撰寫 Lucid ORM 的 model 與關聯設定。

    • 實作資料驗證(schema-based)。


2. 🐞 Debug Mode(偵錯模式)

  • 用途:協助分析錯誤訊息、Log、stack trace、HTTP response 問題。

  • 特性:

    • 擅長判讀 Exception 堆疊、型別錯誤、API 請求失敗原因。

    • 可分析 Blade 或 TS 檔中造成渲染異常的區段。

    • 特別適用於 Laravel / AdonisJS 的錯誤格式。

  • 常見使用情境:

    • E_VALIDATION_FAILURE、QueryException 解析。

    • API 錯誤返回格式診斷。

    • Email 樣板因瀏覽器解釋錯誤導致顯示異常。


3. 🧠 Architect Mode(架構設計模式)

  • 用途:分析程式架構、建議模組拆分與依賴管理。

  • 特性:

    • 以系統設計觀點提供模組命名、資料流與檔案結構建議。

    • 熟悉 DDD、MVC、Service Layer 模式。

    • 可協助整理大型專案的 Controller/Service 分工。

  • 常見使用情境:

    • 規劃中大型系統架構(如會員模組、訂單流程等)。

    • 提議如何將 fat controller 拆分為 service 與 repository。

    • 建立適合 CI/CD 的模組邏輯分離。


4. 🔁 Orchestrate Mode(任務協調模式)

  • 用途:整理工作項目、拆解任務、協助排程與同步。

  • 特性:

    • 能將複雜的開發流程拆解為步驟。

    • 擅長輸出「代辦事項」或「開發計畫清單」。

    • 可搭配 Git workflow 提供分支規劃建議。

  • 常見使用情境:

    • 功能開發規劃與同步(如前後端整合流程)。

    • 分析 patch、PR 差異,整理合併注意事項。

    • 協助撰寫 changelog 或版本發布備忘。


5. 🔍 Ask Mode(一般提問模式)

  • 用途:快速提問非程式導向的問題。

  • 特性:

    • 開放型模式,不依賴開發上下文。

    • 適合提問:語法、概念、函式行為、命名建議等。

  • 常見使用情境:

    • 詢問某 TypeScript 語法用途。

    • 調查 AdonisJS 中某 decorator 的功能。

    • 對比 ORM 中 .preload() 與 .with() 差異。

More from this blog

關於 Hash index

什麼是 Hash Index? Hash Index 是資料庫系統中的一種索引結構,它使用雜湊函數(Hash Function)將索引鍵(Key)映射到資料表中的記錄位置。相較於傳統的 B-Tree 索引,Hash Index 在某些特定查詢場景下能提供更高效的性能。 基本原理 Hash Index 的核心原理是: 使用雜湊函數將索引鍵轉換為雜湊值(Hash Value) 雜湊值決定資料記錄在雜湊表(Hash Table)中的儲存位置 查詢時,系統對索引鍵應用相同的雜湊函數,直接定位到對應...

Jul 26, 20251 min read
關於 Hash index

Event Storming 演練 - 停車場系統 - 下

邊界情境 實際做法: 當大家走到「車輛靠近入口 → 辨識 → 進場」的事件時,突然有人問: 「那如果有人卡在入口不走呢?」 此時 facilitator(主持人)會立刻拿一張粉紅貼紙寫: 複製編輯🚧 車輛卡在入口太久 然後貼在「車輛靠近入口」的旁邊,不急著解決,先繼續主流程。 快速記錄格式(現場慣用) 元素怎麼寫 事件粉紅貼紙,寫「異常行為:XXX」 策略建議藍貼紙,可直接寫「應提示駕駛讓道」 命令建議黃貼紙,可寫「發送通知、記錄異常」 👉 不強求完...

Jul 10, 20252 min read

Event Storming 演練 - 停車場系統 - 上

領域專家口述業務流程 停車場入口會顯示目前停車場剩餘車位,當車輛駛入停車場入口,會先判斷是否有停車位,若是有停車位,車號辨視系統成功取得車號將會放入車輛進入,當感應車輛真的進入後,記錄車輛的車牌與其進入的時間,會將剩餘車位減一。 車輛進入之後,會給於一段緩衝時間,若是車輛在緩衝時間內出場,系統判斷可以正常出場不必繳納停車費用,若超過緩衝時間,即必須這行繳費程序之後再放行。 繳費流程要求在出場之前完成,不會與出場流程一起,繳費時會判斷是否在緩衝時間內,若是,將不必繳費請駕駛人儘快離場,並提醒剩於緩...

Jul 10, 20253 min read

TypeScript - Type 那點事

隨便記 將類型定義放在 .types.ts 或 .d.ts 檔案中,此兩者副檔名有何差異? 在 TypeScript 開發中,.types.ts 和 .d.ts 檔案都用於定義類型,但它們的用途和特性有所不同: .types.ts 用途: 通常用於在 TypeScript 專案內部,定義專案中使用的類型。 這些檔案包含 TypeScript 程式碼,可以包含類型別名、介面、列舉等。 .types.ts 檔案會被 TypeScript 編譯器編譯成 JavaScript 檔案(.js...

Jun 28, 20251 min read

碼農筆記 - 設計思維

Mark it Work, Mark it Right, Mark it Fast 可測試性 可閱讀性 可觀察性 可維護性 可擴展性 健壯性 安全性 效能與資源效率 可部署性 可配置性 🧠 最佳實踐心法 別一開始就追求 Make it Fast,先求穩定,再求優雅,最後才是效能。 重構是常態不是例外,Make it Right 應視為開發常規而非技術債還債。 性能瓶頸來自實測,而不是預測。 Make it Right 意指 程式碼結構清晰 命名具語意 關...

Jun 10, 20251 min read
我

我的工作筆記

8 posts

雖是全端碼農,主力還是後端功能,php + mysql + redis 使用 Laravel 框架,node + mysql + redis 使用 Adonisjs v5。