在本学期的高级软件工程课程中,我收货颇多。具体包括以下几个方面:
- 第一章的内容对我来说是最有用的一章,每一块内容都与实际开发紧密相关。特别的正则表达式与git命令的使用。本科时在学校学到的课程大多是理论基础,实际开发应用能力不强,之后进行的项目也只是任务驱动式地去完成,没有时间进行基础知识的补充,大多是用到哪条命令才去搜哪条命令。学完第一章后,我对这些工具有了系统性的了解。
例如在git中,我了解到了工作区、本地仓库与远程仓库的区别,从不同的命令以及应用场景出发,循序渐进地学习了代码的提交、版本的回溯、不同分支的合并以及重要的换基rebase操作,同时也关注到了单人开发与团队协同开发时注意的要点不同。 - 第二章从小的实际项目menu出发,找到版本不足逐步迭代。在这个过程我学习到了项目开发中的小细节,包括对回调函数的编写,将全局变量作为参数传递等。
- 第三到第五章高屋建瓴,从软件设计的初始关注点:需求讲起,到软件本身的设计与开发,再到整个软件开发周期。我印象最深的点是老师反复强调的,继承与对象组合的优劣对比。“继承破坏了封装特性”。继承作为目前的主流应用方法,在我自己学习和使用的过程中从来都是将它当做开发利器,通过本次课程的学习才让我从另一个角度看待继承,从而能在之后的开发中了解到如何在继承与对象组合之间进行选择。
综上所述,高级软件过程不管是从课程内容还是实验作业都让我受益匪浅。特别是在有过一定开发经验后,对于课程中提到的理论知识会有更深入的了解。
参考资料《代码中的软件工程》
学号后三位:522