高级软件工程总结
一、实验总结
1、五大场景玩转Git
通过本次实验,对版本管理工具Git有了初步的了解,体会到了Git在团队开发工作中的方便性。
2、正则表达式
学习了一些正则表达式的语法规则,可以利用正则表达式对字符串进行操作。
3、menu菜单的实现
通过对代码的理解,体会软件工程中模块化、可重用接口和线程安全的思想。
模块化设计:将系统各部分相互独立,即关注点分离,高内聚、低耦合
可重用接口:软件模块接口,给某一类对象定义公用的接口,对接口的不同实现形成了多个功能不同的类;回调函数接口,使用事件驱动方式调用,当事件发生时触发响应的接口执行
线程安全:并发情况下,加锁保证数据操作的原子性,数据操作结束后对锁释放。
4、使用VS Code + draw.io画UML图
通过本次实验学会使用VS Code中的draw.io相关插件画出项目的UML图。UML图能够帮助开发者更好的理解软件的功能、交互等。相比于文字、代码,具有更加直观、易于理解的特点,在软件开发中,UML图是不可或缺的一部分。
5、实验验证软件中的一些特殊机制
通过本次实验,对回调函数、多态、闭包、异步调用、匿名函数等特殊机制有了更深的理解与体会。
多态:是接口的多种不同的实现方式
回调函数:把函数的指针(地址)作为参数传递给另一个函数,当这个指针调用其所指向的函数时,就称这是回调函数
闭包:将函数作为返回值时,该函数执行所需的上下文环境也作为返回的函数对象的一部分,这样该函数对象就是一个闭包
异步调用:无需等待被调用函数的返回值就让操作继续进行的方法,可以用Promise对象将异步调用用同步调用的流程表达出来,避免通过嵌套回调函数实现异步调用
匿名函数:lamda函数在常见的命令式编程语言中以匿名函数的形式出现,比如无参数的代码块或者箭头函数
二、课程建议
首先感谢孟老师这一学期的辛勤付出与教导,我也从课堂上以及课后实验过程中学到了许多,建议就是针对老师课上所讲可以多安排几次针对性实验,并且统一验收。