技能 avalonia-zafiro-development
📦

avalonia-zafiro-development

安全

套用 Avalonia Zafiro 開發慣例

此技能強制執行 Avalonia UI 開發與 Zafiro 工具組的必填慣例,確保遵循產業最佳實務的可維護函數式反應式 MVVM 程式碼。

支援: Claude Codex Code(CC)
🥉 74 青銅
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「avalonia-zafiro-development」。 撰寫一個 ViewModel,用於可篩選和重新整理的項目清單。

預期結果:

使用 RefreshableCollection 與 DynamicData Connect/Filter/Transform 運算子的 ViewModel,適當的 DisposeWith 生命週期管理,以及 Zafiro 驗證規則。

正在使用「avalonia-zafiro-development」。 將此錯誤處理轉換為使用 Result 類型。

預期結果:

重構程式碼以使用 CSharpFunctionalExtensions Result 類型,具有適當的 Success/Failure 處理管線,而非使用例外狀況進行流程控制。

正在使用「avalonia-zafiro-development」。 顯示 Replay(1).RefCount() 的 Zafiro 捷徑。

預期結果:

使用 Zafiro.Reactive.ObservableMixin 中的 ReplayLastActive() 擴充方法。

安全審計

安全
v1 • 2/24/2026

All static findings are false positives. This skill contains only markdown documentation for Avalonia UI development conventions. The flagged patterns (backtick execution, weak crypto, system reconnaissance) are triggered by markdown syntax and development terminology in documentation context, not actual executable code. No scripts, network calls, file system access, or environment variable usage present.

6
已掃描檔案
211
分析行數
0
發現項
1
審計總數
未發現安全問題

偵測到的模式

External Commands Detection (False Positive)Weak Cryptographic Algorithm Detection (False Positive)System Reconnaissance Detection (False Positive)
審計者: claude

品質評分

38
架構
100
可維護性
87
內容
50
社群
100
安全
91
規範符合性

你能建構什麼

新 Avalonia 專案設定

在開始新的 Avalonia UI 專案時套用 Zafiro 慣例,從一開始就建立正確的架構。

程式碼審查與重構

使用此技能根據 Zafiro 模式審查現有程式碼,並識別需要重構的區域。

學習反應式模式

在實作 DynamicData 管線或反應式命令時參考捷徑和模式。

試試這些提示

套用 Zafiro 慣例
套用 Avalonia Zafiro 開發慣例來審查和改進此程式碼。著重於 MVVM 純度、DynamicData 使用和 Zafiro 輔助方法。
修正反應式反模式
使用 Zafiro 最佳實務識別並修正此程式碼中的反應式反模式。尋找即興的 SourceList 建立、Subscribe 中的邏輯,以及不正確的運算子使用。
實作驗證
使用 Zafiro ValidationRule 和擴充功能實作驗證。展示驗證動態集合的正確模式。
最佳化集合處理
套用 RefreshableCollection 模式和 DynamicData 運算子來最佳化此程式碼中的集合處理。

最佳實務

  • 處理集合時優先使用 DynamicData 運算子而非純 Rx 運算子
  • 使用 CSharpFunctionalExtensions 的 Result 類型進行錯誤處理,而非例外狀況
  • 保持 ViewModel 嚴格獨立於 Avalonia,以確保跨平台相容性

避免

  • 為本機問題即時建立 SourceList 或 SourceCache,而非使用現有的輔助方法
  • 將業務邏輯放在 Subscribe 區塊內,而非反應式管線中
  • 當存在 DynamicData 對應功能時使用純 System.Reactive 運算子

常見問題

在 Avalonia 開發中什麼是 Zafiro?
Zafiro 是一個工具組,提供 Avalonia UI 開發的抽象、輔助和擴充方法,專注於反應式模式和乾淨架構。
為什麼使用 DynamicData 而非純 Rx?
DynamicData 提供專門的集合管理運算子(Connect、Filter、Transform、Sort),在 UI 綁定情境中更高效且更符合慣例。
在此情境中純 MVVM 意味著什麼?
ViewModel 不得直接參考 Avalonia 類型,確保它們可測試且平台獨立。
我應該何時使用 Result 類型?
對預期的錯誤路徑和流程控制使用 Result 類型。僅在真正特殊、無法復原的情況下保留例外狀況。
什麼是 RefreshableCollection?
一種 Zafiro 模式,管理可重新整理的清單,具有自動載入、透過 EditDiff 進行高效更新,以及用於 UI 綁定的 ReadOnlyObservableCollection 輸出。
我如何在反應式管線中處理錯誤?
使用 Zafiro 的 HandleErrorsWith 擴充方法將錯誤直接導向 UI 通知服務,而非手動 Subscribe 錯誤處理。