停止使用自訂的 utility 和 helper 重新發明輪子。此技能教授 Clean Architecture 和領域驅動設計原則,協助您撰寫可維護、可擴展的程式碼。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“software-architecture”。 審查此 UserService 類別的架構問題:[ UserService 類別將資料庫查詢、API 呼叫和 UI 渲染全部混合在一起 ]
预期结果:
發現的架構問題:1) 混合關注點 - 資料庫查詢應屬於 Repository 層,2) UI 渲染應在獨立的 view 元件中,3) API 呼叫應在專用的 service 中。建議重構:拆分為 UserRepository(資料)、UserService(業務邏輯)和 UserView(呈現)。
正在使用“software-architecture”。 我需要實作付款處理。應該自己建構還是使用函式庫?
预期结果:
建議:使用 Stripe 或 Paddle 而非建構自訂的付款處理。這些服務處理 PCI 合規性、定期計費、webhooks 和邊緣情況,這些需要數月時間才能自行建構。只有在現有解決方案無法滿足您的特殊需求時,才考慮自訂實作。
正在使用“software-architecture”。 為電子商務應用程式設計訂單處理模組
预期结果:
建議架構 (DDD):1) Order 實體(領域):Order、OrderItem、OrderStatus。2) 儲存庫:OrderRepository、InventoryRepository。3) 服務:OrderService(placeOrder、cancelOrder)、PaymentService(processPayment)、InventoryService(reserveItems)。4) 應避免的反模式:OrderController 執行業務邏輯、controller 中的資料庫查詢、通用的 OrderUtils 類別。
安全审计
安全All static analysis findings are false positives. Detected 'backtick execution' patterns are markdown code emphasis formatting for library names and file examples. 'Weak cryptographic algorithm' detections are references to 'Clean Architecture' design pattern, not cryptography. 'System reconnaissance' patterns match legitimate software development guidance. This skill contains no executable code and provides educational architecture guidance only.
质量评分
你能构建什么
全新專案架構
啟動新專案,需要從第一天建立稳固的架構基礎
重構舊有程式碼
應用 clean architecture 原則改善現有程式碼庫的程式碼品質
程式碼���查標準
為團隊程式碼審查和 pull requests 建立一致的架構指導原則
试试这些提示
審查這個程式碼元件的架構問題。檢查:通用命名(utils/helpers)、業務邏輯與 UI 混合、檔案長度超過 200 行、函式超過 50 行。建議遵循 Clean Architecture 原則的改進方案。
我需要建構一個 [feature] 模組。遵循 DDD 原則設計架構。為實體、服務和儲存庫建議領域特定的名稱。定義清晰的邊界和關注點分離。
我需要實作 [feature] 功能。搜尋解決此問題的現有函式庫或服務。基於以下條件評估選項:維護狀態、社群採用度、文件品質,以及符合我的需求。
分析此程式碼庫的架構反模式:NIH 症候群(自訂實作而非使用函式庫)、通用檔案名稱、關注點分離不佳、深層嵌套。提供具體的重構建議和範例。
最佳实践
- 在撰寫自訂程式碼之前搜尋現有的函式庫和服務,以減少維護負擔
- 使用領域特定的名稱如 OrderCalculator 和 UserAuthenticator,而非通用的 utils 或 helpers
- 保持業務邏輯獨立於框架,並與 UI 元件��離
- 應用提前返回模式以減少嵌套並改善程式碼可讀性
避免
- 建立包含不相關函式的 utils.js 或 helpers.ts 檔案,而非領域特定的模組
- 將業務邏輯與 UI 元件混合,或將資��庫查詢直接放在 controller 中
- 當既有函式庫存在時,仍建構自訂的驗證、狀態管理或表單驗證
- 使用通用名稱(common、shared、misc)命名檔案或模組,而無清晰的領域目的