高级软件工程实验总结

高级软件工程实验作业总结

1.编辑器-vscode

vscode作为一种文本编辑器,不像IDE一样“臃肿”,在保持文本编辑器轻量特点的前提下,还支持添加扩展插件来丰富软件功能,完成更加复杂的目的。适用于一些不太复杂的文本编辑工作,能够为多种不同开发语言提供相同的开发环境。

1.1 正则表达式

特别地,在实验中要求使用正则表达式对内容进行查找、替换。正则表达式能够快速方便的对比较复杂的字符串格式进行匹配,找到目标串。

基于有限状态自动机(DFA或NFA)的正则引擎具有很好的匹配性能,在字符串查找方面作用很大。熟练掌握正则表达式的书写,能够在做字符匹配、查找、替换等工作时,节省很多的时间和精力。

2.Git基本使用

Git是一种分布式版本控制工具,主要用于对文本数据进行版本管理。结合远程Git仓库,能够实现多人合作开发的目的,在团队合作方面起到很大的帮助。

实验除了常用的 git add/commit/push/pull/log 等命令之外,特别使用了 git rebase 命令。该命令能够对线性提交历史进行编辑。

在将本地提交推送到远程仓库之前,可以先通过 git rebase -i [startpoint] [endpoint] 对提条历史进行编辑,合并无用的提交,使得最终出现在远程仓库中的提交历史更加的“干净”。

3.代码中的软件工程

作业:代码中的软件工程

具体实现某一程序时,将其接口抽象出来,形成单独的模块。具体的使用和实现均面向接口编程,从而可以降低两者之间的耦合度,产出质量更高的代码。

4.Draw.io绘制UML图

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

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

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

5.软件中的一些特别机制

  1. 回调函数:将函数作为参数传递,实现上层编写、下层调用。
  2. 多态:实现一种接口,多种实现。
  3. 闭包:实现了对独有空间的封闭,避免外部直接访问私有内容
  4. 异步调用:无需等待过程的结束,就直接进行后续操作。在网络请求方面能够提升效率,避免因为等待网络响应导致的时间浪费。
  5. 匿名函数:应用于只使用一次函数的地方,以匿名函数的方式定义,在过程结束后,就销毁该函数。
posted @ 2021-07-14 14:57  南冥丶  阅读(120)  评论(0)    收藏  举报