自我评估与ai生成学习指南
已具备的专业知识与能力
C/C++ 基础与算法数据结构,掌握 C/C++ 基本语法、指针、内存管理、结构体与面向对象编程;熟悉数组、链表、栈、队列、树、图等常见数据结构,能独立完成中等难度算法题,正在准备 CCF CSP 认证。
掌握计算机专业基础课程:组成原理、操作系统、计算机网络。
感兴趣的技术方向
嵌入式开发与 Linux 系统编程
算法竞赛与程序性能优化
开源项目与工程化工具
AI Agent 的使用
还欠缺的能力
工程化能力:大型项目架构设计、模块拆分、接口设计、CI/CD、自动化测试。
团队协作能力:多人协作开发流程、代码审查、任务拆分与进度管理。
底层深度:操作系统内核、网络编程、数据库原理、编译原理等还需系统补强。
项目落地经验:缺少从需求分析到部署上线的完整项目经历。
实习与工业界经验:尚未进入企业实习,对真实工程环境了解不足。
二、代码量与目标
截至目前,我的代码量大约在 5000 行左右,主要包括:
算法题与竞赛练习代码;
C/C++ 课程实验;
完成本学期软件工程课程后,我希望代码量能达到 2 万行以上。重点不是单纯堆行数,而是增加完整项目的代码量,包括需求分析、设计文档、测试用例和部署脚本,让代码更有工程价值。
三、本课程最期待学习的知识与收获
我最期待学习:
软件工程完整流程:需求分析、概要设计、详细设计、编码、测试、维护。
团队协作与项目管理:Git 分支策略、代码审查、Scrum/敏捷开发。
设计模式与重构:如何写出可维护、可扩展的代码。
软件测试:单元测试、集成测试、测试驱动开发。
实际项目落地:从零到一完成一个可展示的软件项目。
希望获得的收获:
能独立或与团队合作完成一个完整的软件项目;
具备工程化思维,不再只关注“能跑就行”;
能写出结构清晰、文档齐全、测试充分的代码;
为后续实习和秋招积累项目经验。
四、AI 生成的学习指南
以下为 DeepSeek 生成的学习指南。提示词为“现在你是一名软件工程助教,请为一名学习过 C/C++、数据结构与算法,并完成过 Hugging Face API 入门调用的软件工程专业学生,生成一份简要、可执行的软件工程课程学习指南。指南应包含学习顺序、实践任务、工具建议和阶段性成果要求。(使用 Markdown 语言)”
软件工程课程学习指南(8 周可执行版)
起点:已学 C/C++、数据结构与算法,完成过 Hugging Face API 入门调用。
核心目标:把“能跑通的脚本”升级为“可测试、可协作、可部署、可维护的软件系统”。
主线项目:HF 文本分析服务:CLI → REST API → 数据库缓存 → CI/CD → 容器化 → 云端部署。
一、学习顺序
阶段 周次 学习重点 实践主线
工程基础 | 第1周 | Git、项目结构、编码规范、依赖管理 | 重构 HF 脚本为模块化 CLI
需求与设计 | 第2周 | 用户故事、API 契约、UML、SOLID | 设计 /analyze 接口与模型适配层
测试与质量 | 第3周 | 单元测试、Mock、集成测试、覆盖率 | 用 Mock 替代真实 HF 调用并测试
服务化与 CI | 第4-5周 | FastAPI、REST、SQLite、GitHub Actions | 实现 Web API + 缓存 + 自动测试
容器与部署 | 第6-7周 | Docker、Compose、12-Factor、CD | 容器化并部署到公网
质量与协作 | 第8周 | 代码评审、安全、性能、监控 | 压测、扫描、架构图、演示
二、实践任务清单
第1周:工程基础
建 GitHub 仓库,使用 main + feature/* 分支。
把单文件 HF 脚本拆成:config、hf_client、cli、utils。
添加 .gitignore、.env.example、README.md。
使用 pre-commit + ruff/black 或 clang-format。
验收:clone 后 3 条命令内可运行;Token 不硬编码。
第2-3周:需求、设计、测试
写 3 个用户故事:文本分类、摘要、情感分析。
定义 API 契约:请求/响应/错误码/超时。
抽象 ModelClient 接口,支持 HuggingFaceClient 和 MockClient。
用 pytest 或 GoogleTest 写单元测试、集成测试。
验收:测试覆盖率 ≥ 70%;HF 失败时有降级或清晰错误。
第4-5周:服务化与 CI
用 FastAPI 实现 /health、/analyze、/history。
用 SQLite 缓存相同输入结果,减少 HF 调用。
加日志、统一错误处理、请求 ID、超时重试。
GitHub Actions:安装依赖 → lint → test → 构建。
验收:CI 全绿;OpenAPI 文档可访问;Postman/curl 可调用。
第6-7周:容器化与部署
编写多阶段 Dockerfile,用 docker-compose 启动 app + db。
GitHub Actions 构建镜像并部署到 Render/Fly.io/Railway/VPS。
配置环境变量、健康检查、自动重启。
验收:公网 URL 可访问;/health 正常;密钥不进镜像。
第8周:质量、安全与协作
用 k6 或 locust 压测,记录 p95、错误率、缓存命中率。
开启 Dependabot、gitleaks、依赖漏洞扫描。
画架构图、时序图,写最终报告与 3 分钟演示。
至少完成 2 次 PR 代码评审并合并。
验收:有性能报告、安全清单、架构图、演示视频。
三、工具建议
类别 推荐工具
语言/框架 Python 3.11+、FastAPI、httpx、pydantic;C++ 可选 CMake + GoogleTest
版本控制 Git、GitHub/GitLab、Conventional Commits
测试 pytest、coverage、Mock、Postman、curl
代码质量 ruff、black、mypy、pre-commit、clang-format
CI/CD GitHub Actions
容器/部署 Docker、Docker Compose、Render/Fly.io/Railway/VPS
数据 SQLite → PostgreSQL
安全/监控 gitleaks、Dependabot、Sentry、Prometheus + Grafana
文档 Markdown、Mermaid、MkDocs
四、阶段性成果要求
阶段 必须交付 合格标准
工程基础 Git 仓库、模块化 CLI、README、.env.example 可复现运行,无硬编码密钥
设计与测试 用户故事、API 契约、UML、测试报告 覆盖率 ≥70%,Mock 可测
服务与 CI REST API、SQLite 缓存、GitHub Actions CI 绿,接口可调用
部署 Dockerfile、Compose、公网 URL、部署文档 健康检查通过,可回滚
综合 压测报告、安全扫描、架构图、演示 有数据、有评审、有演示
五、执行节奏与 DoD
每周节奏:30% 学概念,70% 写代码;每周一次复盘。
Definition of Done:代码已提交 → 测试通过 → CI 绿 → 文档更新 → 可演示。
提交规范:feat:、fix:、test:、docs:、chore:。
马上行动:建仓库 → 迁移 HF 脚本 → 写 README → 加测试 → 推 GitHub Actions → 做 FastAPI → Docker 化 → 部署。
坚持 8 周,你得到的不是“一个 API 调用”,而是一个能写进简历、能答辩、能继续扩展的软件工程项目。
我的分析:照着指南学习并实践肯定能在这些方面得到锻炼,不过个人十分怀疑能否在兼顾学校课程情况下按计划完成这些任务。
浙公网安备 33010602011771号