《高级软件工程》实验总结
一、五次实验以及收获
1、五大场景玩转Git
Git是时下代码管理中最流行的工具,主要特点是分布式、逐行比对、分支。
- 团队成员的本地,各自拥有一份代码的副本,修改后commit到远程仓库中,其他成员通过pull更新本地代码。
- 实际项目中往往分成多个分支,例如dev分支用于开发,product分支用来发布生产环境代码,test分支用于测试代码,开发流 dev -> test -> product。
- 多人修改了同一处代码需要解决冲突,git会将冲突代码圈出,自行决定保留哪一个副本。
- 版本回退;
- git rebase,交互式变基更新本地代码;
原本我只使用过git clone来获取项目,通过这次实验,学会了add、commit、push、checkout、rebase、merge等git常用命令,可以进行分支切换、管理与合并等功能。
2、以VSCode+gcc工具集作为主要环境编译调试课程项目案例
在VSCode中配置C语言的开发环境,并运行Menu程序。
- 模块化设计:将系统各部分相互独立,即关注点分离,高内聚、低耦合;
- 可重用接口:软件模块接口,给某一类对象定义公用的接口,对接口的不同实现形成了多个功能不同的类;
- 线程安全:并发情况下,加锁保证数据操作的原子性,数据操作结束后对锁释放;
3、VSCode+draw.io完成项目UML图
draw.io是一款非常方便的绘图工具,支持VS code插件的同时还支持网页端。之前没有用过这个插件,这次实验学会了如何用draw.io画UML图。
4、实验验证软件中的一些特殊机制
- 回调函数:事件驱动模型下,在某一事件触发时,触发回调函数;
- 多态:允许不同类的对象对同一种消息作出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式;
- 闭包:当前函数和周围状态的引用相互绑定,例如可以在外函数的末尾返回内部函数,通过内部函数访问到外函数中的局部变量;
- 异步调用:事件驱动模型下,某一个操作的执行并不是同步进行的;
- 匿名函数:lamda函数,js、java、c++中都有相关实现;
由于之前使用较多的是C++,所以对多态这种机制比较熟悉。之前学习了一段时间的JavaScript,所以对回调函数、闭包、异步调用、匿名函数也有了一些了解,通过这次实验,更加熟悉了这几种机制,也加深了自己的理解。
5、正则表达式
做字符匹配、字符替换,在编程中还是很有用的,需要多记一下语法规则,熟练掌握运用。
二、对本课程的内容和实验安排的思考与建议
希望安排的实验内容可以更加具体一些,另外实验检查可以安排统一检查。

浙公网安备 33010602011771号