一篇随笔

一、自我评估

  • 能力 A:数据结构与算法基础
    掌握常见数据结构(如栈、队列、二叉树、散列表、堆)的实现原理与操作,能够用C/C++语言实现基础算法(如排序、递归、动态规划)。例如,曾用C++实现过基于哈夫曼编码的文件压缩算法,理解其时间复杂度与空间复杂度
    优化逻辑。

  • 能力 B:编程语言与工具链
    熟练使用C/C++进行底层开发,熟悉指针、内存管理等核心概念;了解Python基础语法,能快速验证算法逻辑;掌握Git版本控制工具,能独立完成代码提交与冲突解决。

二、代码量

当前代码量至少有千行,主要以C与c++为主,还很有部分python,希望通过这学期的学习,拓展代码量。

三、期待知识点

  • 期望知识点:软件的构建以及后续的质量检测。

  • 收获期望:希望对软件工程这一专业有更深的认识,在课程学习与课后作业中积累一定的与软件开发相关的经验。

四、学习指南

- 选用AI工具:deepseek

- 指南:

1. 课程定位与核心理念

软件工程不是“写代码”,而是系统化地构建和维护高质量软件。核心在于:工程化思维、团队协作、质量保障、持续交付。

2. 学习路径建议(按阶段)

第一阶段:建立工程思维(2-3周)

  • 理解软件生命周期:需求→设计→实现→测试→维护
  • 学习敏捷开发(Scrum)、版本控制(Git/GitHub)、项目管理基础
  • 目标:能画出简单的用户故事地图,会用Git进行版本管理

第二阶段:核心实践(4-8周)

  • 需求分析:学习编写用户故事、需求规格说明书
  • 系统设计:掌握UML(用例图、类图、时序图),理解模块化、高内聚低耦合
  • 编码规范:命名规范、代码注释、代码风格统一(参考Google C++ Style Guide)
  • 测试:单元测试(Google Test)、集成测试、TDD(测试驱动开发)
  • 持续集成/持续部署(CI/CD):GitHub Actions、Jenkins基础

第三阶段:项目实战(9-16周)

  • 分组完成一个中型项目(如:博客系统、图书管理系统、在线考试系统)
  • 实践Scrum Sprint:每日站会、Sprint计划、评审、回顾
  • 文档贯穿始终:需求文档、设计文档、测试报告、用户手册

第四阶段:总结与反思(最后1-2周)

  • 撰写项目总结报告
  • 代码审查(Code Review)经验分享
  • 个人技能成长复盘

3. 推荐工具与资源

  • 版本控制:Git + GitHub/GitLab
  • 项目管理:Trello / Jira / Notion
  • 文档协作:Markdown + 语雀/Confluence
  • 测试框架:C++:Google Test;Python:pytest;Java:JUnit
  • CI/CD:GitHub Actions
  • 参考书籍:《构建之法》(邹欣)、《代码大全》、《人月神话》

4. 常见误区提醒

  • ❌ 只关注代码,不写文档
  • ❌ 不学测试,认为“调试即可”
  • ❌ 忽视团队沟通,各自为战
  • ❌ 追求完美,拖延交付
  • ✅ 正确做法:先完成,再完善;持续集成,小步提交

- 分析:

结构清晰,阶段划分合理且内容覆盖相对全面,给出的推荐工具在业内十分常用,尤其是给出了误区提醒,能帮助我少走弯路。但该指南适用性相对宽泛,对于个人的针对性相对薄弱,但对于初学者而言还是非常实用的。
总体来讲,对于我还是有一定的帮助,可以弥补我在某些方面的短板,但还需要根据自己的实际情况进行些许调整。

posted @ 2026-09-10 16:18  LeonOrLi  阅读(6)  评论(0)    收藏  举报