高软2021-春课程实验总结
一、实验
1、五大场景玩转Git
2、以VSCode + gcc工具集作为主要环境编译调试课程项目案例
3、VSCode + draw.io完成项目UML图
4、实验验证软件中的一些特殊机制
5、正则表达式
二、四次实验的收获
1、五大场景玩转Git
Git是时下代码管理中最流行的工具,主要特点是分布式、逐行比对、分支。
- 团队成员的本地,各自拥有一份代码的副本,修改后commit到远程仓库中,其他成员通过pull更新本地代码。
- 实际项目中往往分成多个分支,例如dev分支用于开发,product分支用来发布生产环境代码,test分支用于测试代码,开发流 dev -> test -> product。
- 多人修改了同一处代码需要解决冲突,git会将冲突代码圈出,自行决定保留哪一个副本。
- 版本回退;
- git rebase,交互式变基更新本地代码;
2、以VSCode + gcc工具集作为主要环境编译调试课程项目案例
编译代码,完成代码。
- 模块化设计:将系统各部分相互独立,即关注点分离,高内聚、低耦合;
- 可重用接口:软件模块接口,给某一类对象定义公用的接口,对接口的不同实现形成了多个功能不同的类;
- 回调函数接口,使用事件驱动方式调用,当事件发生时触发响应的接口执行;
- 线程安全:并发情况下,加锁保证数据操作的原子性,数据操作结束后对锁释放;
3、VSCode + draw.io完成项目UML用例图
4、实验验证软件中的一些特殊机制
- 回调函数:事件驱动模型下,在某一事件触发时,触发回调函数;
- 多态:同一种物体的多种状态,例如一个函数根据传入的参数个数、类型的不同的多态,某一个类既可以是子类也可以是父类;
- 闭包:当前函数和周围状态的引用相互绑定,例如可以在外函数的末尾返回内部函数,通过内部函数访问到外函数中的局部变量; 异步调用:事件驱动模型下,某一个操作的执行并不是同步进行的;
- 例如网络IO,这是一个异步操作,异步操作返回时,触发回调函数的执行,典型的实现有primise,async/await;
- 匿名函数:lamda函数,js、java、c++中都有相关实现;
5、正则表达式
做字符匹配、字符替换,很有用,语法规则需要记一下。