高级软件工程总结-SA20225484-吴思言

实验总结

实验一:编辑神奇VSCode

  之前一直用vscode进行一些c++程序的编写工作,但只是当做一个带有插件的编辑器在使用;通过实验,了解了更多的vscode功能及快捷键,熟悉了之后能够加快代码的编写速度;之后尝试了通过vscode,使用wsl+ssh远程链接实现了在win下使用linux环境进行开发,可以撇开极其占用资源的虚拟机,体验非常好。

实验二:五大场景玩转 Git

  Git是一个分布式的版本控制系统,之前只听说过github,并不了解两者之间的关系,学习之后明白了git的作用以及git的一些指令,例如 push、pull、clone、add、commit,但自己写的工程还很小,并且并无协作的开发者,所以实际体验下来,感觉git的版本对比是目前最实用的功能,可以很好的查找程序与之前版本的不同之处,让找到修改程序之后新增的bug简单了许多。本次实验的主要内容是在工作分支上进行多次提交后,在合并至master分支之前,对工作分支进行rebase操作,以精简修改历史,使分支更加简介。

实验三:正则表达式

  正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。由于不怎么接触字符串的相关处理,所以使用体验不是很深,并且日常查找文字,普通的搜索也能够满足要求。但个人感受在HTML语言中,正则表达式应该会非常好用。在实验检查中,印象最深的是通过匹配符 ?的使用,可以将积极匹配模式转为懒惰匹配模式,十分神奇。

实验四: 用 VS Code + draw.io 画UML用例图

  之前画用例图都是在ProcessOn这个网站上使用拖拽的方式进行绘图,感觉十分方便;但当没有网络的时候,却没有了解过相关的软件进行绘图操作;vscode中能够使用插件直接进行绘图,无疑是减少了环境切换、手动截图等繁琐的操作,总体体验不错。

实验五:实验验证软件中的一些特殊机制

  本次实验主要是认识到回调函数、多态、闭包、异步调用、匿名函数等特殊机制在软件项目开发中的重要作用,其中回调函数、多态、匿名函数在c++11中均有相关机制,但闭包概念没有在c++11中找到,而异步这个概念则和具体的环境有关,例如linux环境下并没有原生的异步io调用,通常都会用同步io+反应堆来模拟异步调用。但在js中闭包、异步调用和匿名函数十分常见并应用广泛,是非常优秀的机制,对程序逻辑的梳理,模块之间的解耦都有非常大的帮助。

实验六:menu菜单系统

  本次实验主要是实现了一个menu的菜单子系统,在实验中使用了通用链表模块,以及一个上层menu模块,通过抽象接口实现了两个模块之前的解耦,并且实现了config接口,提供了自定义菜单的功能,使menu这个模块能够根据项目需要进行重用。

课程总结

  通过高级软件工程这门课的学习,我了解到了许多软件开发过程中所必备的知识,对于软件工程有了更深一些的了解,同时让我学习到了一些代码编写的技巧以及如何组织和编写代码使之能够更加通用,或者具有迭代的可能。

课程意见

  通过看学长们的一些资料,了解到之前上课会有一个menu菜单子系统的大作业,但是本学期并没有布置这个作业,感觉课程还是需要这样的一个小项目来串联所学到的工程知识,学以致用是成长最快的方式。

上一篇:android studio menu的使用


下一篇:29HUI - 图标及九宫格(hui-speed-dial-icons)