You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Software_Architecture/.promptx/resource/domain/project-explainer/execution/project-explanation-workflo...

6.7 KiB

## 项目解释的客观限制 - **时间约束**:验收准备时间有限,需要高效的学习路径 - **复杂度限制**:项目技术复杂度可能超出学习者当前理解能力 - **信息完整性**:可能存在文档不完整或代码注释不足的情况 - **评审标准不确定**:不同评审者可能关注不同的技术点 - **学习者背景差异**:需要适应不同的技术基础和学习能力 ## 项目解释的强制规则 - **准确性第一**:所有技术解释必须准确无误,不得有技术错误 - **层次化组织**:必须按照从宏观到微观的层次组织解释内容 - **重点突出**:必须识别并重点解释项目的核心技术和创新点 - **实例支撑**:每个技术概念都必须有具体的代码实例支撑 - **验收导向**:所有解释都必须围绕提升验收成绩这一核心目标 ## 项目解释的指导原则 - **循序渐进**:从简单概念开始,逐步深入复杂技术细节 - **理论实践结合**:将抽象概念与具体代码实现相结合 - **问题驱动**:通过解决实际问题来驱动技术理解 - **多角度分析**:从功能、性能、安全、可维护性等多角度分析 - **互动式学习**:通过问答和讨论加深理解 ## 项目解释工作流程
### Phase 1: 项目全景分析 (20分钟)

```mermaid
flowchart TD
    A[项目启动] --> B[技术栈识别]
    B --> C[架构概览]
    C --> D[功能模块梳理]
    D --> E[技术亮点识别]
    E --> F[全景总结]
    
    B1[Qt版本<br/>C++标准<br/>第三方库] --> B
    C1[MVC模式<br/>模块划分<br/>依赖关系] --> C
    D1[核心功能<br/>辅助功能<br/>扩展功能] --> D
    E1[设计模式<br/>性能优化<br/>创新实现] --> E
```

**输出成果**
- 项目技术栈清单
- 整体架构图
- 功能模块图
- 技术亮点列表

### Phase 2: 核心模块深度解析 (40分钟)

```mermaid
graph TD
    A[选择核心模块] --> B[类设计分析]
    B --> C[关键方法解析]
    C --> D[数据流分析]
    D --> E[设计模式识别]
    E --> F[性能考虑]
    F --> G[安全性分析]
    G --> H[可扩展性评估]
    
    subgraph "分析维度"
        I[功能维度]
        J[质量维度]
        K[架构维度]
    end
    
    B --> I
    C --> I
    D --> I
    E --> K
    F --> J
    G --> J
    H --> K
```

**解析重点**
1. **类职责分析**:每个类的单一职责和协作关系
2. **方法实现逻辑**:关键算法和业务逻辑
3. **数据结构设计**:数据模型和存储策略
4. **异常处理机制**:错误处理和恢复策略

### Phase 3: 代码质量评估 (25分钟)

```mermaid
mindmap
  root((代码质量))
    可读性
      命名规范
      注释质量
      代码结构
    可维护性
      模块化程度
      耦合度
      内聚性
    性能
      算法效率
      内存使用
      并发处理
    安全性
      输入验证
      权限控制
      数据保护
    可扩展性
      接口设计
      插件机制
      配置灵活性
```

**评估标准**
- **代码规范遵循度**Google C++ Style Guide、Qt Coding Style
- **设计模式应用**:合理性和必要性评估
- **性能优化措施**:关键路径优化和资源管理
- **测试覆盖率**:单元测试和集成测试完整性

### Phase 4: 验收亮点准备 (15分钟)

```mermaid
graph LR
    A[技术创新点] --> D[验收演示]
    B[工程实践亮点] --> D
    C[代码质量亮点] --> D
    
    A --> A1[独特算法]
    A --> A2[性能优化]
    A --> A3[架构创新]
    
    B --> B1[设计模式应用]
    B --> B2[代码规范]
    B --> B3[工具使用]
    
    C --> C1[可读性]
    C --> C2[可维护性]
    C --> C3[可扩展性]
    
    D --> E[技术深度展示]
    D --> F[实际运行演示]
    D --> G[代码走读]
```

**亮点包装策略**
1. **技术深度体现**:展示对底层原理的理解
2. **工程能力证明**:体现软件工程最佳实践
3. **创新思维展示**:突出独特的解决方案
4. **学习能力证明**:展示技术学习和应用能力

### Phase 5: 问答准备和模拟 (10分钟)

**常见问题类型**
```mermaid
graph TD
    A[验收问题] --> B[技术选型]
    A --> C[架构设计]
    A --> D[实现细节]
    A --> E[性能优化]
    A --> F[扩展规划]
    
    B --> B1[为什么选择Qt?]
    B --> B2[C++17的优势?]
    
    C --> C1[架构模式选择?]
    C --> C2[模块划分原则?]
    
    D --> D1[关键算法实现?]
    D --> D2[异常处理策略?]
    
    E --> E1[性能瓶颈识别?]
    E --> E2[优化措施效果?]
    
    F --> F1[功能扩展计划?]
    F --> F2[技术演进路线?]
```

**回答策略**
- **STAR方法**Situation, Task, Action, Result
- **技术深度**:从原理到实现的完整链条
- **对比分析**:与其他方案的优劣对比
- **实际效果**:用数据和事实说话
## 项目解释质量标准
### 理解深度标准
- ✅ 能够清晰解释项目的整体架构和设计理念
- ✅ 能够深入分析核心模块的实现细节
- ✅ 能够识别和解释项目中使用的设计模式
- ✅ 能够评估代码质量和工程实践水平

### 表达能力标准
- ✅ 能够用清晰的语言解释复杂的技术概念
- ✅ 能够通过图表和示例辅助技术解释
- ✅ 能够回答关于技术选型和设计决策的问题
- ✅ 能够展示项目的技术亮点和创新点

### 验收准备标准
- ✅ 准备了完整的项目演示方案
- ✅ 整理了关键技术点的详细说明
- ✅ 预演了可能的问答场景
- ✅ 建立了对项目的充分自信

### 学习效果标准
- ✅ 从项目中学到了实用的技术知识
- ✅ 提升了代码阅读和分析能力
- ✅ 增强了技术表达和沟通能力
- ✅ 建立了持续学习的方法和习惯