高级软件工程总结

SA20225236-李成响

一、本学期完成的实验

1.编程神器VS Code

这个实验的内容是安装并熟悉VS code的基本操作。在此之前我一直使用IDE来写代码,因为觉得代码编辑器功能不够强大,而VS code改变了我的想法,它通过全面的插件系统提供了丰富的功能,可以在多个平台、多种语言都提供相似且顺畅的编程体验,将来我也会更多的使用VScode来编写代码。

2.五大场景玩转Git

Git的原理:按行对比(line diff)将差异的部分作为一个增量补丁,通过git add添加到暂存区里的每一个文件都会由line diff得到该文件的增量补丁,而git commit将暂存区里的所有文件的增量补丁合并起来存入仓库就是一个commit。提交(commit)时,会生成一个SHA-1 Hash值作为commit ID。

通过老师的场景设置逐步熟悉git在本地仓库、远程仓库的使用,并熟悉相关git命令的使用。

3.正则表达式的使用

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。在本次实验中学习了正则表达式的“十步通关”,学习了正则表达式的各种语法,掌握正则表达式并将其应用到了工程实践的文本输入限制中。

使用正则表达式可以事半功倍,有些时候代码写很多,正则表达式只需要一行。

4.以menu项目论软件工程

完善menu菜单程序,并且增加回调函数的函数接口,本实验通过回调函数来减少模块间的耦合度,通过这个过程我体会到了模块化的重要性和便利性,同时学习了可重用接口以及线程安全的知识。

5.用VS Code + draw.io画UML用例图

通过使用Draw.io在VSCode中的插件,画出UML用例图,加深了我对UML用例图的理解,同时学会了将UML图嵌入到.md文件中的技巧。

6.实验验证软件中的一些特殊机制

软件中的特殊机制包括回调函数、多态、闭包、异步调用、匿名函数。

  1. 回调函数:可以将函数的指针(地址)作为参数传递给另一个函数;
  2. 多态:同一接口使用不同实例执行不同操作。
  3. 闭包:将函数作为返回值时,该函数执行所需的上下文环境也作为返回的函数对象的一部分,这样该函数对象就是一个闭包。
  4. 异步调用:无需等待被调用函数的返回值就让操作继续进行的方法。
  5. 匿名函数:没有名字的函数,可作变量值、参数值、自调用。

二、对课程的思考

本课程提供了一个全新的角度来学习软件工程,不同于只注重书面和理论知识的照本宣科,孟宁老师选择从实际出发,通过真实的软件成功和开发流程来讲解其中的知识,让我学习到了许多非常使用的技能,并且可以应用到以后的工作与学习中。感谢孟宁老师!

posted @ 2021-07-19 10:32  15262042210  阅读(51)  评论(0编辑  收藏  举报