software-design

Installation
SKILL.md

软件设计与编码规范技能系统

任务目标

本技能系统提供全面的软件设计与编码规范指导,涵盖从基础术语到架构设计的完整知识体系。支持新手→进阶→架构师的学习路径,可根据不同场景调用相应子技能。

核心能力

  • 术语概念解析: 作用域、闭包、命名空间、变量生命周期等基础概念
  • 状态管理设计: 局部/全局/共享状态、不可变状态、单向数据流
  • 函数设计原则: 单一职责、纯函数、方法封装、高内聚低耦合
  • 模块化架构: 分层架构、目录规范、代码组织结构
  • 错误处理机制: 异常捕获、错误码设计、异常抛出策略
  • 性能优化: 内存管理、资源释放、性能瓶颈分析
  • 代码质量: 可读性、语义化命名、编码风格、可维护性
  • 设计原则: SOLID 原则、设计模式、重构技巧

子技能列表

子技能 用途 触发场景
terminology 编程术语与概念解析 遇到不理解的术语或概念时
state-management 状态管理方案设计 需要设计状态存储和管理逻辑时
function-design 函数设计与拆分 需要编写或重构函数时
modularization 模块化与架构设计 需要组织代码结构或分层时
error-handling 错误处理机制 需要设计异常处理策略时
performance 性能优化 遇到性能瓶颈或内存问题时
code-quality 代码质量优化 需要提升代码可读性和可维护性时
naming 命名与注释规范 需要改进命名或添加注释时

三步流程框架

所有技能操作遵循统一的三步流程:

┌─────────────────────────────────────────────────────────────┐
│  第一步:查阅信息 (Research)                                  │
│  ├── 理解用户问题和场景                                      │
│  ├── 调用相关子技能(如需要)                                │
│  └── 网络搜索最新实践(如需要)                              │
├─────────────────────────────────────────────────────────────┤
│  第二步:执行操作 (Execute)                                   │
│  ├── 应用设计原则和规范                                      │
│  ├── 提供具体代码示例                                        │
│  └── 解释设计决策和权衡                                      │
├─────────────────────────────────────────────────────────────┤
│  第三步:检查验收 (Validate)                                  │
│  ├── 验证方案符合 SOLID 原则                                  │
│  ├── 确认代码质量和可读性                                    │
│  └── 提供进一步优化建议                                      │
└─────────────────────────────────────────────────────────────┘

使用场景

场景 1: 新手学习路径

需求: 从零开始学习软件设计

调用方式:

调用 software-design 技能,选择"新手学习路径"

输出:

  • 基础术语解释(作用域、变量、函数)
  • 编码规范入门
  • 简单示例和练习

场景 2: 代码重构

需求: 优化现有代码结构

调用方式:

调用 software-design 技能,选择"代码重构"场景

输出:

  • 代码问题分析
  • 重构方案设计
  • 具体实现步骤

场景 3: 架构设计

需求: 设计大型项目架构

调用方式:

调用 software-design 技能,选择"架构设计"场景

输出:

  • 分层架构设计
  • 模块划分方案
  • 设计模式应用

场景 4: 性能优化

需求: 解决性能瓶颈

调用方式:

调用 software-design 技能,选择"性能优化"场景

输出:

  • 性能分析方法
  • 优化方案设计
  • 最佳实践建议

核心概念体系

一、基础术语(程序员必懂)

  • 作用域(Scope): 全局变量 / 局部变量 / 块级作用域
  • 变量生命周期: 声明周期、内存分配、垃圾回收
  • 命名空间污染: 全局命名空间管理、模块化解决方案
  • 闭包(Closure): 词法作用域、上下文保持
  • 状态管理(State Management): 局部状态 / 全局状态 / 共享状态
  • 不可变状态(Immutable State): 数据不可变性、纯函数
  • 单向数据流: 数据流向控制、状态更新机制

二、设计原则(SOLID)

  1. 单一职责原则(SRP): 一个类只负责一项职责
  2. 开放封闭原则(OCP): 对扩展开放,对修改封闭
  3. 里氏替换原则(LSP): 子类可替换父类
  4. 接口隔离原则(ISP): 接口要小而专
  5. 依赖倒置原则(DIP): 依赖抽象而非具体实现

三、代码质量维度

  • 可维护性: 易于理解、修改和维护
  • 可扩展性: 易于添加新功能
  • 可测试性: 易于编写单元测试
  • 可读性: 代码清晰易懂
  • 解耦: 模块间低耦合

四、架构设计模式

  • 分层架构: Controller / Service / DAO / Utils
  • 模块化设计: 高内聚、低耦合
  • 设计模式: 23 种经典设计模式
  • 重构技巧: 代码重构方法论

学习路线图

🌱 新手阶段(0-6 个月)

重点学习内容:

  1. 基础术语:变量、作用域、函数
  2. 编码规范:命名、注释、格式
  3. 简单函数设计:单一功能、参数设计
  4. 基础错误处理:try-catch、错误提示

推荐子技能:

  • terminology(术语概念)
  • naming(命名规范)
  • function-design(基础函数设计)

🚀 进阶阶段(6 个月 -2 年)

重点学习内容:

  1. 函数设计进阶:纯函数、副作用管理
  2. 状态管理:局部状态、全局状态
  3. 模块化:代码组织、目录结构
  4. 错误处理:错误码设计、异常链
  5. 性能基础:时间复杂度、空间复杂度

推荐子技能:

  • function-design(高级函数设计)
  • state-management(状态管理)
  • modularization(模块化)
  • error-handling(错误处理)

🏗️ 架构师阶段(2 年以上)

重点学习内容:

  1. SOLID 原则深度应用
  2. 设计模式:23 种模式实战
  3. 架构设计:分层架构、微服务
  4. 性能优化:内存管理、并发处理
  5. 代码重构:重构方法论
  6. 工程质量:可维护性、可扩展性

推荐子技能:

  • code-quality(代码质量)
  • performance(性能优化)
  • modularization(架构设计)
  • 所有子技能综合运用

网络搜索配置

本技能支持网络搜索功能,用于获取最新的设计模式、最佳实践和技术趋势。

搜索触发条件

  • 用户明确要求搜索最新实践
  • 需要验证某个设计模式的当前使用情况
  • 需要了解特定框架的状态管理方案
  • 需要查询性能优化的最新技术

搜索关键词示例

  • "2025 state management best practices"
  • "SOLID principles real-world examples"
  • "code refactoring techniques 2025"
  • "performance optimization patterns"

参考文档

文档 用途 何时使用
references/terminology.md 编程术语详解 需要理解基础概念时
references/state-management.md 状态管理方案 设计状态管理逻辑时
references/function-design.md 函数设计指南 编写或重构函数时
references/modularization.md 模块化设计 组织代码结构时
references/error-handling.md 错误处理机制 设计异常处理时
references/performance.md 性能优化 解决性能问题时
references/code-quality.md 代码质量标准 提升代码质量时
references/naming.md 命名规范 改进命名时

使用示例

示例 1: 查询术语概念

用户: "什么是闭包?怎么用?"

技能调用:

调用 software-design/terminology
查询:闭包(Closure)

输出:

  • 闭包定义
  • 工作原理
  • 使用场景
  • 代码示例
  • 注意事项

示例 2: 状态管理设计

用户: "这个组件的状态应该怎么管理?"

技能调用:

调用 software-design/state-management
场景:组件状态设计

输出:

  • 状态分析(局部/全局/共享)
  • 状态管理方案
  • 代码实现示例
  • 最佳实践建议

示例 3: 函数重构

用户: "这个函数太复杂了,怎么拆分?"

技能调用:

调用 software-design/function-design
场景:函数重构
应用原则:单一职责、纯函数

输出:

  • 问题分析
  • 拆分方案
  • 重构后代码
  • 设计原则说明

示例 4: 架构设计

用户: "我要开发一个电商系统,怎么设计架构?"

技能调用:

调用 software-design/modularization
场景:大型项目架构设计
网络搜索:电商系统架构最佳实践

输出:

  • 分层架构设计
  • 模块划分方案
  • 技术选型建议
  • 设计模式应用

注意事项

  • 子技能调用: 根据具体场景选择合适的子技能,避免过度设计
  • 网络搜索: 仅在需要最新信息时启用,避免不必要的搜索
  • 学习路径: 根据用户水平推荐合适的学习内容和子技能
  • 代码示例: 所有建议都应提供可运行的代码示例
  • 原则应用: 解释设计原则时要结合实际场景,避免教条主义
  • 版本控制: 重要修改需更新版本号并记录变更

版本历史

  • v1.0.0 (2025-01-XX): 初始版本
    • 创建完整的技能系统架构
    • 定义 8 个子技能
    • 配置网络搜索能力
    • 提供学习路线图
Related skills
Installs
5
First Seen
Apr 4, 2026