《高级软件工程》实验总结

一、五次实验以及收获

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、正则表达式

做字符匹配、字符替换,在编程中还是很有用的,需要多记一下语法规则,熟练掌握运用。

二、对本课程的内容和实验安排的思考与建议

希望安排的实验内容可以更加具体一些,另外实验检查可以安排统一检查。

posted @ 2021-07-14 14:35  sisisim  阅读(91)  评论(0)    收藏  举报