solid-principles
將 SOLID 原則應用於 TypeScript 程式碼
Também disponível em: Benny9193
SOLID 原則幫助您編寫可維護的軟體。此技能教您建立可測試、可擴展的 TypeScript 應用程式,以適應不斷變化的需求。
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "solid-principles". 我的 OrderService 類別處理驗證、業務邏輯、資料庫存取和通知。我該如何改進它?
Resultado esperado:
- 檢測到單一職責違規:4 個不同的職責
- 將驗證邏輯提取到專用的 OrderValidator 函數中
- 將資料庫操作移至獨立的 OrderRepository
- 為通知建立 EmailNotifier 介面
- 注入所有依賴以提高可測試性和靈活性
A utilizar "solid-principles". 我有許多 if-else 語句檢查折扣類型。如何使其可擴展?
Resultado esperado:
- 開放封閉原則違規:修改現有程式碼以新增新類型
- 為折扣計算建立 DiscountStrategy 類型
- 將策略儲存在記錄/映射中以便於擴展
- 無需修改 calculateDiscount 即可新增新的折扣類型
- 使用函數組合實現靈活的折扣組合
A utilizar "solid-principles". 當寬度改變時,我的 Square 類別破壞了 Rectangle 的預期。如何修復?
Resultado esperado:
- 里氏替換原則違規:Square 無法替代 Rectangle
- 對形狀關係使用組合而非繼承
- 定義具有面積計算的 Shape 介面
- 為 Rectangle 和 Square 建立獨立的工廠函數
- 當行為契約不同時避免使用繼承
Auditoria de Segurança
SeguroThis is a pure documentation/educational skill containing only markdown explanations and TypeScript code examples demonstrating SOLID design principles. The static scanner misidentified TypeScript template literals as shell backticks, arithmetic operations as cryptographic algorithms, and code comments as system reconnaissance. No executable code, network calls, file system access, or environment variable access exists. Verified by reading SKILL.md (282 lines) and examples.md (387 lines) which contain only educational content.
Fatores de risco
⚙️ Comandos externos (42)
🌐 Acesso à rede (1)
Pontuação de qualidade
O Que Você Pode Construir
學習 SOLID 基礎
透過實際的 TypeScript 範例和常見違規情況理解每個原則
審查設計決策
驗證設計選擇並識別遺留程式碼中的重構機會
研究設計模式
學習 SOLID 原則如何指導物件導向和函數式設計決策
Tente Estes Prompts
分析此 TypeScript 類別並識別它違反了哪些 SOLID 原則。解釋每個違規並建議重構方法。
重構此類別以遵循單一職責原則。為每個職責提取獨立的函數。
使用策略模式或組合重新設計此 switch 語句,以遵循開放封閉原則。
重構此服務以依賴抽象而非具體實作。展示介面設計。
Melhores Práticas
- 從單一職責開始 - 按變更原因拆分函數
- 使用依賴注入來反轉依賴並提高可測試性
- 優先使用組合而非繼承以獲得靈活性
Evitar
- 處理多個不相關職責的上帝類別
- 破壞里氏替換的深層繼承層次結構
- 強制客戶端依賴未使用方法的肥大介面
Perguntas Frequentes
我應該先學習哪個 SOLID 原則?
我可以將 SOLID 原則應用於現有程式碼嗎?
SOLID 是否僅適用於物件導向程式碼?
如何避免使用 SOLID 過度設計?
SOLID 與設計模式之間的關係是什麼?
我可以在 TypeScript 中使用 SOLID 嗎?
Detalhes do Desenvolvedor
Autor
DoubleslashSELicença
MIT
Repositório
https://github.com/DoubleslashSE/claude-workflows/tree/main/Plugins/dotnet-tdd/skills/solid-principlesReferência
main
Estrutura de arquivos
📄 SKILL.md