高软实验总结
实验一:编程神器Visual Studio Code
Visual Studio Code是一个轻量且强大的代码编辑器,支持Windows,OS X和Linux。内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来支持C++、C#、Python、PHP等其他语言。通过本次实验了解了VSCode的基本配置,会简单的使用VSCode以及熟悉了VSCode的一些快捷键,进行无鼠标操作。
实验二:五⼤场景玩转 Git
在Github.com或Gitee.com上新建一个版本库,实现了ppt中的场景四,使用 git rebase 重新整理一下提交记录。实验过程中不要通过rebase对任何已经提交到远程仓库中的commit进行修改,同时merge和rebase都是用来合并分支的。它们的区别如下:
1.采用merge和rebase后,git log的区别,merge命令不会保留merge的分支的commit。
2.处理冲突的方式:
(1)使用merge
命令合并分支,解决完冲突,执行git add
和git commit -m'fix conflict',
这个时候会产生一个commit。
(2)使用rebase
命令合并分支,解决完冲突,执行git add
和git rebase --continue
,不会产生额外的commit。好处:分支上不会有无意义的解决分支的commit;坏处:如果合并的分支中存在多个commit
,需要重复处理多次冲突。
3.git pull
和git pull --rebase
区别:git pull
做了两个操作分别是‘获取’和合并。所以加了rebase就是以rebase的方式进行合并分支,默认为merge。
通过本次实验了解了Git分布式版本控制系统的思想,学会了一些基本命令的使用。
实验三:正则表达式
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。通过本次实验,熟练应用正则表达式,可以更快速的完成工作,更好的捕获字符串等,简化了很多繁琐的工作。
实验四:阅读分析MENU-MASTER代码
实现了一个命令行的菜单小程序,最终目标是完成一个通用的命令行的菜单子系统便于在不同项目中重用。通过阅读分析代码,可以更好的将上课所讲述的知识加以在实际的项目中理解,便于以后更深刻的将所学应用于实践。
实验五:用VS Code + draw.io画UML用例图
本次实验以参与的工程实践项目为应用场景进行用例建模,用VS Code + draw.io画出UML用例图,并将用例图嵌入到项目git版本库中的某个markdown文档中。
用例图如下:
用例图模拟了参与者和系统之间的通信,提供了系统使用和行为的摘要视图。实现了对总体需求的直接理解,使分析更加直观,而通过VS Code + draw.io画UML用例图更加方便快捷。
实验六:实验验证软件中的一些特殊机制
本次实验验证了软件中的一些特殊机制:
1.回调函数:是一个通过函数指针调用的函数。把函数的指针(地址)作为参数传递给另一个函数,当这个指针调用其所指向的函数时,就称这是回调函数。回调函数不是该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
2.多态:接口的多种不同的实现方式为多态;同一段代码执行时却表现出不同的行为状态,也叫多态。可以理解为允许将不同的子类类型的对象动态赋值给父类类型的变量,通过父类的变量调用方法在执行时实际执行的可能是不同的子类对象方法,因而表现出不同的执行效果。
3.闭包:是变量作用域的一种特殊情形,一般用在将函数作为返回值时,该函数执行所需的上下文环境也作为返回的函数对象的一部分,这样该函数对象就是一个闭包。
4.异步调用:一个可以无需等待被调用函数的返回值就让操作继续进行的方法。
5.匿名函数:没有具体名称的函数,匿名函数的作用主要是实现自己定义的函数,从而扩大函数的使用功能;
通过本次实验,了解了软件中的一些特殊机制,可以更好的将这些知识应用在代码中,进行代码优化,提升自己。
总结和建议:
通过本次课程和实验,学习了如何更好的去开发设计一个好的的项目,以及项目过程中需要注意的很多问题,收获颇多;建议老师课程安排实验,集中验收,这样可以更加具体的让我们自己了解到在实验过程中的可能会有的一些不足之处;最后感谢这个学期孟老师对于我们的耐心指导!