【BUAA软工】软件案例分析

第一部分

安装并部署软件

visual studio code 安装

visual studio code 是一款轻量级的代码编辑IDE,安装十分简单,仅需要到官网选择下载对应的安装包,打开安装包后根据安装步骤一步一步操作即可。安装包需要选择对应系统,笔者使用的是windows系统因此选择Windows x64,并且版本有Stable和Insider两种,其中Stable是目前发行的版本最新的最稳定的版本,Insider是为对外发行的测试版本。这里选择Stable版本下载

【BUAA软工】软件案例分析

下载安装后,打开vscode,这个时候vscode应该只是一个普通的编辑器,如果要作为开发环境开发相应语言的工程,需要安装相关语言的插件以及学会配置编译的快捷方式。以python为例,需要在左边的扩展窗口里搜索python插件,使vscode能支持python语言的检错。

【BUAA软工】软件案例分析

这时候仅是让vscode支持了python语言的基本检错,而并不能编译运行python,需要编写相关的json配置文件,才能指定vscode执行相关的编译运行工作。json配置文件的写法网上有很多,这里仅做展示。配置文件写在当前工作区的./.vscode/文件夹下,就可以使vscode自动编译运行当前文件夹下的python文件。

【BUAA软工】软件案例分析

visual studio 安装

visual studio是一款强大的IDE软件,与vscode的轻便不同,visual studio要比vscode要复杂,vscode很多相关配置文件是需要自己设定自己实现,而visual studio大部分都已经将配置文件给你配好了,只需要安装就行了。而且对于编程新手来说,visual studio会更适合,不仅不需要进行过多的配置,而且还具有debug,性能监测,优化编译生成等各种各样便捷开发者的功能。但同时,既然功能强大那必然会造成程序的复杂度,因此和vscode相比会显得笨重,而且不大美观。

安装visual studio也很简单,在官网选择相关版本下载installer即可。笔者选择的是2017版本的visual studio

【BUAA软工】软件案例分析

打开installer,选择要安装的语言支持包,之后安装,这里以选择c语言为例

【BUAA软工】软件案例分析

安装完visual studio后,不用像vscode那样需要配置多种插件才能支持编译运行,直接就可以创建工程进行程序编写。

体验软件功能

1.使用10–30分钟这个软件的基本功能(请上传使用软件的照片)

visual studio code 使用

使用vscode编写一个简单的python语言,输出从0-99的整数,并使用配置的任务自动运行:

【BUAA软工】软件案例分析

可以观察到,vscode不仅外观简洁美观,并且在安装了python语言插件后,他可以自动为你识别语法,并且提供相关的语法检查和语法提示,以及自动补全功能,并且还会告知你相关函数的声明内容。在按下Ctrl+Shift+B后可以根据先前配置的json文件,一键运行python程序。

visual studio 使用

下面是我结对编程使用visual studio编写过程中的一个截图,是在对写好的代码进行单元测试。

【BUAA软工】软件案例分析

visual studio的功能十分强大,不仅有相关语言的自动补全,代码提示,断点调试,而且还能进行各种性能测试,单元测试等等,各种配件都可以一键安装,不用像vscode样还需要写相关json,这对于刚刚接触这方面的新手来说确实是非常方便。

2.描述使用这个产品的过程,解决了用户的问题么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?

这两款IDE,总的来说都解决了用户的基础需求:编写代码并能够运行调试。这两款软件在各方各面都各有不同,也有不同的优缺点:

  • 界面上:
    • 在界面的简洁美观方面确实要吊打visual studio几条街,vscode的基本界面就是代码和资源管理,并且没有过多其他的装饰,
    • visual studio的各种信息提示栏太过于繁琐,即使能够关闭,但关闭后看起来仍是不如vscode简洁。
  • 数据量:
    • vscode非常轻量级,都是用户需要在让用户自己去手动配置。
    • visual studio由于功能非常强大,当你安装一个语言支持包后,就会将该语言支持包的各种调试工具,测试工具都统统给你下载了,虽然非常适合不知道装啥的新手,但是会占用大部分空间,并且减慢启动速度。
  • 功能:
    • 功能上这两者都表现的很优秀,虽然vscode的功能相对visual studio来说要少一些,但是也基本满足了用户的需求。并且vscode必要时也可以自己配置。
  • 准确度:
    • 由于vscode的大部分功能都由插件来提供,但是插件有官方的,有开源的,各种版本的插件很可能造成各种各样的不兼容问题,因此在使用上难免会出现一些冲突的问题。
    • visual studio的功能大部分都是由官方实现的,标准比较统一,因此错误率会低一些。
  • 用户体验:
    • 个人认为,大部分新手可能会喜欢visual studio,毕竟功能齐全也不用进行过多的配置,编程爱好者可能会喜欢vscode,毕竟美观以及轻量。而大工程的开发者可能选择visual studio会多一些,因为大工程配置可能比较复杂,用vscode不一定能够配置得来,并且相关的测试功能visual studio也比较强大。

3.对产品有什么改进意见?

总的来说vscode和visual studio的体验感还是不错的,希望这两个产品能够持续了解用户的需求,了解用户在使用时遇到的各种问题,并且能够在一定周期内进行修复和更新,提供新功能满足需求。

希望visual studio能够做一些优化,尽可能解决数据量大带来的笨重的问题,并且希望能够将界面设计的更加美观一些,显得不那么复杂。

测评并找bug

Bug 1:vscode退出时不提示保存可能会触发的问题

vscode在退出窗口时,如果窗口中有未保存的文件,vscode并不会提示保存,而是将你编写一般的程序默默的保存到了工作区缓存区中(并没有保存到原文件中)。这样当然有好处,就是当程序因莫名原因崩溃退出时,你编写一般的文件并不会丢失,再次打开vscode并打开上一次编辑的工作区或文件夹(注意必须是上一次编辑该文件的文件夹或工作区)便能够恢复自动保存的文件。

但是如果是你忘记保存文件,然后默默的点击了关闭窗口,然后再使用vscode打开另一个文件夹下的文件。那么当你再下一次打开vscode时,并不会再次帮你打开你上次忘记保存的那个文件的工作区。而你在磁盘下用其他编辑器打开该文件时并不是你最新修改完的文件。因此当你要找你之前写一半的文件时,你必须得用vscode再次打开同一工作区才能恢复。但是你如果忘了具体的工作区是哪个,那可能就会比较麻烦。

【BUAA软工】软件案例分析

例如上图,笔者打开了在/week5/目录工作区下打开并编辑了test.txt文件,关闭vscode后用vscode打开/week5/test2/output.txt的文件,这时候你的test.txt文件并没有保存到磁盘,如果你能记得之前是使用/week5/文件夹工作区编辑的文件,那么还能找回文件,但如果你忘了而是打开了根目录/工作区,那么并不能恢复test.txt,而要找到原工作区不一定非常简单,如果目录结构非常复杂,那么可能需要一个一个尝试,会非常麻烦。

因此vscode可以完善一下这方面的功能,比如在主界面展示有未保存文件的工作区目录,以便用户方便的找回忘记保存的文件。

Bug 2:vscode使用系统自带的终端时存在吃字符的情况

当没有安装vscode的终端插件时,使用的是默认的系统终端。但是如果终端中存在的信息达到一定数量时,可能会存在吃字符的情况。比如使用vscode终端运行刚刚编写的简单python程序(输出0-99),当运行了几十次后,想往上翻看之前的运行结果,很可能会在中间某个地方看到某一次的运行结果的字符被吞了:

【BUAA软工】软件案例分析

例如上图,在终端的某个位置,发现59这个结果不见了。这个bug曾经困扰了我很多次,比如在调试程序时,程序输出结果较长,想要往上翻翻输出的结果时却发现结果不见了,误以为是自己程序写出了bug。但使用了系统自带的终端后就没有问题了。因此这个bug虽然复现率并不高,但是造成的用户体验却并不好。

Bug 3:visual studio的部分自动补全存在bug

例如下图所示。使用visual studio写switch语句。当第一次进行自动补全时,可以将switch自动补全显示,但当第二次想要对switch变量进行修改时,按下自动补全的回车后,光标却自动跳到了后边的地方,需要重新输入才行,非常不方便。

【BUAA软工】软件案例分析

我认为这个地方可能是某个功能和自动补全冲突了,因为可以观察到一开始出现的switch_on是红色字体的,可能这里存在某种提示功能,但我尚不明白此处是什么功能,导致第一次自动补全不能正常进行。并且这个bug是稳定复现的,用户体验不佳。

结论

  • vscode:非常推荐
  • visual studio:好,不错
  • 下表每项满分5分
visual studio codevisual studio
核心功能5.05.0
辅助功能4.34.8
用户体验5.04.0
美观4.83.8
软件可拓展性4.54.4
可成长性4.34.0