在本学期的《高级软件工程》中,我做了许多实验,其中下面几个是我感觉收获比较大的:
1. 五大场景玩转 Git
之前我没有系统学习过Git,总觉得它很复杂。但是跟着实验教程学过一遍之后,发现也没想象中的那么难,最常用的就那几个命令(add、commit、checkout、merge、rebase等),足够应对平常的开发需求。在这以后,我便开始有意识地将自己写的代码用git管理并推送到Github上。
2. 正则表达式的使用
系统学习了正则表达式的语法,在这之后,我开始有意识地使用正则表达式来处理日常遇到的各种文本匹配、替换的任务(比如批量修改变量名等),大大减少了重复劳动。
3. 使用VS Code + draw.io画UML用例图
在本实验中,我从项目中提取出用例并画出用例图,嵌入到项目的readme文件中:
4. 验证软件中的一些特殊机制
本实验中,我学习到了几种编程语言中广泛使用的机制:
·回调:将函数作为参数传入另一个函数,并由这个函数去调用它。
·多态:同一个实例化变量通过不同实例对象表现出不同的行为。
·闭包:当从函数中返回一个子函数时,会将子函数的周围环境(即父函数作用域)也捆绑着一起传递出去,这样,子函数就能访问到它在父函数中使用到的数据了。
·异步调用:我尝试了JS的异步机制,并自己用C++实现了较为简单的异步模式。异步本质上就是另开一条线程(或者协程)去执行某个任务,然后系统继续其他任务。当任务完成时,再切换回去处理结果,或者继续执行异步调用之后的代码,这大大提高了系统的执行效率和吞吐量。
·匿名函数:当我们只想临时传入一段简单的、一次性的逻辑,而不想费心思考命名等一些细节规范时,就可以直接写一段匿名的短小代码来实现。