高软实验总结-SA20225220-姜鑫

实验一:安装并熟悉vscode

  vscode是一款使用JS语言编写的软件是一个轻量且强大的代码编辑器,支持Windows,OS X和Linux。内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来支持C++、C#、Python、PHP等其他语言。5大主菜单分别是文件夹,搜索,git、调试和插件,每个主菜单都会显示对应的二级菜单,编辑区,我们最常用的编码区,信息显示区当前git信息,格式,字符编码等。

  它的优点是:

  1. 简洁而聚焦的产品定位,贯穿始终
  2. 进程隔离的插件模型
  3. UI 渲染与业务逻辑隔离,一致的用户体验
  4. 代码理解和调试——LSP和DAP两大协议
  5. 集大成的 Remote Development

  VS Code专注于开发者“最常用”的功能:编辑器+代码理解+版本控制+远程开发+调试。这是一个非常节制而平衡的选择,专注于开发者“最常用”的功能,同时在产品的形式上力求简洁高效。VS Code 统管所有用户界面交互,制定用户界面交互的标准,所有用户的操作被转化为各种请求发送给插件进程,UI界面渲染与业务逻辑隔离,从而做到一致的用户体验。

  其中通过了解VS Code,理解了一款优秀的软件是专注用户所用核心功能的软件,最大程度减少臃肿和干扰用户体验的部件的软件。

实验二:五大场景玩转git

 

  Git是时下代码管理中最流行的工具,主要特点是分布式、逐行比对、分支。

  • 团队成员的本地,各自拥有一份代码的副本,修改后commit到远程仓库中,其他成员通过pull更新本地代码。
  • 实际项目中往往分成多个分支,例如dev分支用于开发,product分支用来发布生产环境代码,test分支用于测试代码,开发流 dev -> test -> product。
  • 多人修改了同一处代码需要解决冲突,git会将冲突代码圈出,自行决定保留哪一个副本。
  • 版本回退;
  • git rebase,交互式变基更新本地代码;

  通过这次实验,学会了add、commit、push、checkout、rebase、merge等git常用命令,可以进行分支切换、管理与合并等功能。

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

  由于Git是对文本数据进行版本管理的工具,其差异算法以行数据作为比较单元,难以对图片等内容进行版本管理。而开发中,经常使用UML图对软件进行说明,说明文档同样需要版本控制,因此使用SVG图片进行绘制,能够有效利用Git管理工具,起到版本控制的作用。

  UML图能够帮助开发者更好的理解软件的功能、交互等。相比于文字,具有更加直观、易于理解的特点。在软件开发中,UML图是不可或缺的一部分。

  Draw.io是用于绘制UML图的在线工具,同时vscode中也有Draw.io的插件,允许通过vscode编辑器直接对本地的svg图片进行文本或图形化编辑。

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

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

  回调函数:将函数作为参数,可以达到在回调的目的。

  多态:同一接口使用不同实例执行不同操作。

  闭包:将函数与函数的上下文环境合称闭包,可访问外部函数内部作用域。

  异步调用:无需等待被调用函数的返回值就让操作继续进行的方法。典型的实现有primise等。

  匿名函数:没有名字的函数()=>{},可作变量值、参数值、自调用。

实验五:正则表达式

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

  正则表达式是对字符串操作的一种逻辑公式。

  匹配字符串"aaah"中出现 3 到 5 次的 a,你的正则表达式将是 a{3,5}h。
  匹配字符串"haaah"与至少出现 3 次的字母 a,正则表达式将是 ha{3,}h。
  匹配字符串"hah"中出现 3 次的字母 a,正则表达式将是 ha{3}h。

  正则表达式t[a-z]*i应用于字符串"titanic",使用?字符将其更改为 lazy 懒惰匹配。"titanic"匹配调整后的t[a-z]*?i正则表达式会返回["ti"]。

课程总结:

  学完高级软件工程这门课后,感觉对软件工程这门学科有了深一层的认识。软件工程是一门重视实际操作的科学。对于软件产品,无非是产品定义、设计代码、调试维护几个步骤,看似简单,可是实际操作却复杂困难,它不比其它行业产品可预见可触及,所以学好软件工程能为以后从事软件开发行业打好基础。

  在此特别感谢孟老师的耐心讲授,令学生我受益匪浅。

 

posted @ 2021-07-18 01:06  John24  阅读(58)  评论(0编辑  收藏  举报