第一次个人作业
软件工程第一次作业
作业基本信息
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 软件工程 |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/DoubleDegreeClassof2022/homework/13334 |
| 这个作业的目标 | 为后续课程学习做好准备,规划未来职业发展,熟悉markdown语法 |
| 其他参考文献 | 百度 |
目录
1. 准备工作
1.1 Git代码仓库
2. 评估当前的自己
2.1 简历
| 项目 | 内容 |
|---|---|
| 姓名 | 杜树扬 |
| 头像 | |
| 兴趣爱好 | 健身、舞狮、阅读 |
| 专业能力 | 熟悉C、mysql语言基本操作 |
| 项目经历 | 图书管理信息系统 |
3. 展望未来
3.1 《构建之法》问题思考
1.如何平衡软件项目的需求变更与进度控制?
思考:
需求变更不可避免,建议采用敏捷开发模式(如 Scrum),通过定期迭代(Sprint)拆分任务,确保每个周期内只处理优先级最高的需求。
建立需求评审机制:产品经理需与开发团队共同评估变更成本,避免因频繁变更导致进度失控。
使用项目管理工具(如 Jira)跟踪需求状态,明确变更对工期和资源的影响。
2.团队开发中如何有效进行代码审查?
思考:
制定统一的代码规范(如命名规则、注释标准),借助工具(如 SonarQube)进行自动化检查,减少低级错误。
采用 “结对编程” 或 “分支评审” 模式,由资深成员带领新人交叉检查,重点关注架构合理性、性能瓶颈和安全性。
代码审查应注重建设性反馈,避免批评个人,可通过 Git 流程(如 Pull Request)强制要求评审通过后再合并代码。
3.如何评估程序员的工作效率与贡献?
思考:
避免单纯以代码行数(LOC)衡量效率,可结合功能完成度、任务复杂度(如 Story Points)、Bug 修复率等多维指标。
引入 OKR(目标与关键成果法),关注项目整体目标的达成,而非个人产出的绝对值。
通过团队成员互评、用户反馈等方式综合评估贡献,例如在开源项目中可统计代码合并次数、Issue 解决率等。
4.软件测试如何避免 “为了测试而测试”?
思考:
测试需紧密围绕用户需求,优先覆盖核心功能和高频使用场景,例如通过用户故事(User Story)设计测试用例。
推行 “测试左移”(Shift Left Testing),在需求分析阶段就介入测试设计,提前发现逻辑漏洞,减少后期返工成本。
采用自动化测试(如单元测试、UI 自动化)提升效率,同时保留必要的手动探索性测试,确保用户体验符合预期。
5.技术债是否应该优先偿还?如何规划?
思考:
技术债需按风险等级分类处理:高风险债(如安全漏洞、性能瓶颈)应立即修复,低风险债(如代码可读性差)可纳入迭代计划逐步重构。
在每个迭代周期(如 Sprint)中预留 10%-20% 的时间用于债务偿还,避免债务累积影响开发效率。
通过技术评审和代码重构实践(如 Refactoring)培养团队的 “还债” 意识,例如在设计新功能时优先考虑可维护性。
3.2 职业规划
目标方向:成为 Unity 游戏开发工程师,专注于 3D 游戏开发与跨平台优化。
阶段计划:
短期(6 个月):
掌握 Unity 引擎核心模块(如物理系统、渲染管线),完成 2-3 个独立游戏 Demo。
深入学习 C# 编程,熟练使用设计模式优化代码结构。
中期(1-2 年):
参与商业游戏项目开发,积累多人协作经验,学习版本控制(如 Perforce)和资源管理流程。
研究 Shader 开发与图形学优化,提升游戏画面表现和性能。
长期(3-5 年):
成为技术骨干,主导中小型游戏项目的架构设计,负责跨平台部署(如 PC / 主机 / 移动端)。
探索前沿技术(如 VR/AR、元宇宙),尝试将 AI 技术(如行为树、生成式内容)融入游戏开发。
3.3 对软件工程实践课程的期望
想学技术:Unity 引擎开发(重点学习 URP 渲染管线与 Addressables 资源管理)。
能力提升:
团队协作:通过结对编程和团队项目,掌握 Git 协同开发流程,提升沟通效率和任务拆解能力。
项目全流程管理:学习从需求分析、设计到测试、部署的完整开发周期,理解敏捷开发模式的实际应用。
对老师助教的期待:
提供工业级项目案例参考(如中小型游戏开发文档、资源管理规范),帮助学生贴近实际开发场景。
定期开展技术分享会(如 Unity 性能优化、Shader 入门),并针对个人项目提供代码评审和优化建议。
强调代码质量与可维护性,引导学生养成编写注释、单元测试的良好习惯。
- 思考:采用增量修改策略,只更新受影响的测试用例。为保证代码质量,适当的测试维护成本是必要的投入。
3.2 未来职业规划
计划跨专业考研,在硕士阶段:
- 拓宽知识面,建立跨学科视野
- 选择特定技术方向进行深入研究
- 以扎实的技术储备进入互联网企业
3.3 对软件工程实践课程的理解和期望
期望学习内容:
- 商业级软件开发流程与方法论
- 实际项目开发经验
- 团队协作与项目管理技能
具体目标:
- 掌握主流开发框架的应用
- 理解从需求分析到部署的全流程
- 提升解决实际工程问题的能力
4. 思维导图和学习路线
C++/Unity开发学习路线图

6个月学习计划
-
第1-2月:巩固C++核心知识
- 深入理解STL容器与算法
- 完成3个中等规模控制台项目
-
第3-4月:Unity进阶
- 掌握UGUI系统
- 开发2D平台游戏demo
-
第5-6月:项目实战
- 参与开源游戏项目
- 学习性能优化技巧

浙公网安备 33010602011771号