software-architecture - SKILL

发布时间:2026/10/18 4:05:28
software-architecture - SKILL
name: software-architecturedescription: “Guide for quality focused software architecture. This skill should be used when users want to write code, design architecture, analyze code, in any case that relates to software development.”risk: criticalsource: communitydate_added: “2026-02-27”软件架构开发技能此技能为注重质量的软件开发和架构提供指导。它基于整洁架构Clean Architecture和领域驱动设计Domain Driven Design原则。代码风格规则通用原则提前返回模式尽可能使用提前返回而不是嵌套条件以提高可读性通过创建可复用的函数和模块来避免代码重复将过长的超过 80 行代码的组件和函数拆分为多个更小的组件和函数。如果它们在其他地方用不到就放在同一个文件中。但如果文件超过 200 行代码就应该拆分为多个文件。尽可能使用箭头函数而不是函数声明最佳实践库优先方法在编写自定义代码之前始终先寻找现有解决方案在 npm 中检查是否已有解决该问题的库评估现有的服务/SaaS 解决方案考虑使用第三方 API 实现常见功能使用库而不是自己编写工具函数或辅助函数。例如使用cockatiel而不是自己编写重试逻辑。当自定义代码确实合理时领域独有的特定业务逻辑有特殊要求的性能关键路径引入外部依赖显得大材小用时需要完全控制的安全敏感代码经过全面评估后现有解决方案仍不满足要求时架构与设计整洁架构与 DDD 原则遵循领域驱动设计和通用语言将领域实体与基础设施关注点分离保持业务逻辑独立于框架清晰定义用例并保持其隔离命名约定避免通用名称utils、helpers、common、shared使用领域特定名称OrderCalculator、UserAuthenticator、InvoiceGenerator遵循限界上下文命名模式每个模块应有一个清晰、单一的目的关注点分离不要将业务逻辑与 UI 组件混合不要让控制器直接包含数据库查询在上下文之间保持清晰的边界确保职责的正确分离应避免的反模式NIH非我发明综合症有 Auth0/Supabase 存在时不要自建认证不要编写自定义状态管理而不是使用 Redux/Zustand不要创建自定义表单验证而不是使用成熟的库糟糕的架构选择将业务逻辑与 UI 组件混合在控制器中直接进行数据库查询缺乏清晰关注点分离通用命名反模式包含 50 个无关函数的utils.js作为垃圾场的helpers/misc.js目的不明的common/shared.js记住每一行自定义代码都是一项需要维护、测试和文档化的负债代码质量使用带类型的 catch 块进行适当的错误处理将复杂逻辑分解为更小、可复用的函数避免深层嵌套最多 3 层保持函数专注尽可能在 50 行以内保持文件专注尽可能在 200 行代码以内何时使用此技能适用于执行概述中描述的工作流或操作。限制仅当任务明确符合上述范围时使用此技能。不要将输出视为特定环境验证、测试或专家审查的替代品。如果缺少必需的输入、权限、安全边界或成功标准请停下来询问澄清。