一、写在前面

本次作业我选择了微软公司的两个代码编辑器:Visual Studio、VS Code来做评测。为什么选择这两款软件呢?是因为这两款软件非常热门,一个是Windows上最强大的编译器,一个是一款便捷好用的跨平台编辑器。

Visual Studio(简称VS)是美国微软公司的开发工具包系列产品,是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等。通俗的讲,是一款编译器。

VS Code,表面上看就是在VS后面加了个Code,但是它和VS的本质截然不同。VS Code是美国微软公司的一个项目:运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。通俗地讲,VS Code是一款编辑器,也就是说它的本质是用来写代码的,而不是做调试和开发的。

但是,和其他文本编辑器(Atom,Sublime Text等)类似,VS Code也有丰富的插件库。通过这些插件的配置,我们也可以在VS Code中实现代码的编译运行调试功能。

二、调研,评测

1. Visual Studio

Visual Studio(简称VS)是美国微软公司的开发工具包系列产品,是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等。通俗的讲,是一款编译器。

使用VS运行一个demo的截图:

VS编辑python vs编辑软件全名_UI

和相关的集成开发环境(CodeBlocks,Clion)相似,直接在代码编辑好后一键运行即可。图中可以看到VS是用的独立的控制台进行运行。

数据量

VS软件很大,使用基本功能大概就需要几个G的空间,是因为它集成了很多功能,有着很完备的调试系统和测试系统。

界面

VS的默认界面看起来很乱,尤其是调试的时候,可能是因为功能多的缘故。但是我认为功能多和界面美观二者不冲突。这方面可以对比JB公司的Clion。我在日常中绝大部分时间使用Clion,不仅界面美观,而且个人感觉调试功能不输VS。

如图,VS的调试界面:

VS编辑python vs编辑软件全名_Windows_02

如图,Clion的调试界面:

VS编辑python vs编辑软件全名_Windows_03

可以看到Clion在调试时会把各个变量的信息打在变量出现的响应位置,看起来更加清晰。而且Clion有自带的console,在运行程序的时候不会再弹出一个控制台,也改善了使用体验。这就是为什么我一直喜欢用Clion的原因。

功能和准确度

功能方面,VS最强大的编译器的称号实至名归,功能丰富程度方面是任何其他IDE不能比的。

关于VS的几个bug:

  1. VS的代码静态检查延迟非常高,有时它会提示我们缺少了某个头文件,需要我们手动添加,但是当添加了以后VS要过很长时间才会取消这个提示。在我们的结对作业中,我就感受到了这种高延迟的不便,如图:

VS编辑python vs编辑软件全名_VS_04

在我添加了这个UILine头文件后,这个vector里面的UILine还是会报错,只有切换一下文件才会变成正常格式。这里并不是我的电脑比较卡,我的mac有16G内存,属于性能比较高的那种了。所以VS在代码静态检查的效率方面还有待优化。

  1. VS的Live Share插件可以说是非常难用了,有以下几个特点:首先延迟非常高,链接上去大概要2-3分钟,而且有可能连上去也看不到对方的文件,而且有的时候写着写着代码突然就断连了,这样之前写的东西都白费了,不知道是不是需要代理服务器的原因,但是使用起来非常不方便就是了。而且有这么个神奇的现象:刚进共享窗口的时候,参加者的视角会随着分享者的滚动而滚动,也就是说你的鼠标滚轮是没有用的,分享者的视角滚动也会影响你。这个现象只能通过手动切换到另一个文件再切换回来才能解决。

VS编辑python vs编辑软件全名_Code_05

2. Visual Studio Code

VS Code,表面上看就是在VS后面加了个Code,但是它和VS的本质截然不同。VS Code是美国微软公司的一个项目:运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。通俗地讲,VS Code是一款编辑器,也就是说它的本质是用来写代码的,而不是做调试和开发的。

但是,和其他文本编辑器(Atom,Sumlime Text等)类似,VS Code也有丰富的插件库。通过这些插件的配置,我们也可以在VS Code中实现代码的编译运行调试功能。下面是我用VS Code的C/C++插件编译运行一个C程序demo的图片:

VS编辑python vs编辑软件全名_VS编辑python_06

数据量

和VS比起来,VS Code就算是轻蝇量级的了,整个软件只有几百MB,插件也非常小,并且对所有系统都支持(VS只能在Windows上用)。

界面

从上面图片可以看到VS的UI十分干净整洁,使用起来方便,没有VS的花里胡哨的功能,是我比较喜欢的编辑器的类型。

功能和准确度

VS Code只是一款编辑器,所以功能也不是特别丰富,在这方面是比不过VS的。由于平时我使用的不是特别多,所以也没有发现什么bug或是使用不方便的地方。

三、分析

以下问题只针对VS和其中发现的bug来谈。

1. 使用此服务的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。

既然有专业UI支持,那么我们只考虑后端开发问题。首先VS的功能十分强大,目前我使用了大概两个月的时间,个人估计只使用了其中不到1/3的功能,包括代码编写,调试和单元测试等。因为之前写过类C文法编译器,以我个人的经验来看,对于一种语言,写一款内置编译工具大概就需要一个多月的时间,还不能说写的有多好。再加上调试工具,测试框架,以及对于计算机大学毕业生而言相关新知识的学习,我感觉实现最基础的功能就得用一年的时间。其他的功能例如代码分析,静态检查等也需要很久的时间才能开发出来,对于一种语言,开发时间至少在三年以上,何况VS还集成了多种语言。所以说Windows上的最强IDE的称号VS实至名归,需要很多资深开发专家组成团队取开发,想要一个6人的大学毕业生团队开发出来几乎是不可能的事情。

2. 分析这个软件目前的优劣(和类似软件相比),这个产品的质量在同类产品中估计名列第几?

优点:VS的优点就是功能非常全面,可以用来做几乎所有的开发,这里我们和Jetbrains公司的软件进行对比,JB公司对于每一种语言都设计了一款对应的IDE,所以说综合性不是很好,VS一个软件包含了所有的功能,我们只需要有选择性地安装即可。

缺点:VS的缺点也是功能太全面了,对于大部分用户来说,一些功能几乎是用不到的,但在安装的时候也会被安装进去,这就显得VS的软件十分庞大,所以对于大部分用户来说会转向VS Code或者Clion(本人Clion玩家)。这就造成了软件普及型不是特别好。

如果要我排名的话,Clion > VS Code > VS。

3. 从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。

开发一个VS Lite版,像JetBrains公司那样对于每种语言针对性地实现一个软件,此外,UI也要能简则简,这样可以很大程度上减小软件体积,增加用户数量。