一篇随笔
一、自我评估
-
能力 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. 常见误区提醒
- ❌ 只关注代码,不写文档
- ❌ 不学测试,认为“调试即可”
- ❌ 忽视团队沟通,各自为战
- ❌ 追求完美,拖延交付
- ✅ 正确做法:先完成,再完善;持续集成,小步提交
- 分析:
结构清晰,阶段划分合理且内容覆盖相对全面,给出的推荐工具在业内十分常用,尤其是给出了误区提醒,能帮助我少走弯路。但该指南适用性相对宽泛,对于个人的针对性相对薄弱,但对于初学者而言还是非常实用的。
总体来讲,对于我还是有一定的帮助,可以弥补我在某些方面的短板,但还需要根据自己的实际情况进行些许调整。

浙公网安备 33010602011771号