高级软件工程实验作业总结_SA20225365裴日裕

一、开发工具VS Code

Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义快捷键、括号匹配和颜色区分、代码片段、代码对比 Diff、GIT命令 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。并且软件本身跨平台支持 Win、Mac 以及 Linux,运行流畅,作为一种文本编辑器,不像IDE一样“臃肿”,在保持文本编辑器轻量特点的前提下,还支持添加扩展插件来丰富软件功能,完成更加复杂的目的。适用于一些不太复杂的文本编辑工作,能够为多种不同开发语言提供相同的开发环境。

二、五大场景玩转git

第一个场景学会了git本地版本库的用户,第二个场景学会了git远程版本库的基本用法,第三个场景学会了团队项目中的分叉合并,第四个场景学会了git rebase的使用,简单概括就是可以对某一段线性提交历史进行编辑、删除、复制、粘贴,使我们的提交历史干净、简洁。

在我看来,git有几大特点:直接记录快照,而非差异比较。git 关心的只是文件数据的整体是否发生变化,而大多数其他系统(比如svn)则只关心文件内容的具体差异,每次记录都有哪些文件做了更新,以及都更新了哪些行的什么内容。近乎所有操作都是本地执行。在git中的绝大多数操作都只需要访问本地文件和资源,不用联网,因为它有本地数据库的镜像。但如果用集中式版本控制系统的话,差不多所有操作都需要联网,因为git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。时刻保持数据完整性。在保存到git 之前,所有数据都要进行内容的校验和计算,并将此结果作为数据的唯一标识和索引。换句话说,不可能在你修改了文件或目录之后,git 一无所知。这项特性作为git 的设计哲学,建在整体架构的最底层。所以如果文件在传输时变得不完整,或者磁盘损坏导致文件数据缺失,git都能立即察觉。

三、用VSCode+draw.io画UML用例图

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

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

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

四、实验验证软件中的一些特殊机制

在这次的实验过程中,我们主要对回调、多态、闭包、异步调用、匿名函数进行了验证

  • 回调:将函数b作为参数传入到一个函数a中,并在a中对这个函数进行调用,此为回调

  • 多态:在对象模型中,一定少不了多态,其可以理解为在基类中定义的某个虚函数,在不同的子类中有不同的实现,因此在不同实例化对象上下文环境中执行该函数会得到不同的结果,此为多态

  • 闭包:python就实现了闭包,其函数可与周围状态捆绑在一起

  • 异步调用:python中的async框架

  • 匿名函数:python中的lambda表达式

五、正则表达式

通过在vim编辑器中将字符串规则转换成正则表达式的练习,掌握了正则表达式的字符串匹配模式。

posted @ 2021-07-15 18:32  peiriyu  阅读(64)  评论(0编辑  收藏  举报