个人博客作业-软件案例分析

作业信息

项目内容
这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健)
这个作业的要求在哪里 个人博客作业-软件分析案例
这个作业的对我学期目标的作用 初步接触软件案例分析,理解软件分析的大概流程

案例选择

本次软件案例分析我选择的产品是微软公司的Visual Studio Community(2019)VS Code

首先在案例分析之前,以自己为浅层用户的角度,先初步陈述一下为什么对这两款软件的印象。

VS

本学期之前我是没有用过这个软件,原因有以下几点:

  • 本学期之前没有课程要求VS,并且在课外也没有什么开发C++的经历;

  • VS给我的第一印象是臃肿,动辄数G;

  • 在上学期的一次编译课设上,平时用的轻量化IDE无法进行Debug,遂尝试使用了已经装好的VS2019,但是编译出错;

  • 代码补充不太好,用起来不如JetBrains公司的一系列产品丝滑。

VS Code

Vs code这款软件我使用了大概一年左右,以下为我使用该软件的理由:

  • 搜的教程里挺多使用VS Code的;

  • 学的几门语言每个都要安装一个IDE,如果不进行深度开发的话专门的IDE显得没必要,VS Code显得全能;

  • 每学期只要用到有关写代码的东西,都可以用VS Code写,比如用到的latex;

  • 更强大的记事本(虽然启动时间相比很长)。

调研评测

从图标说起

先上合照~

观察上图,可以发现两个软件的图标很相似,这也就代表着两个软件有什么联系。博客Iterations on infinity上叙述了VS系列图标的设计,是由无限符号∞迭代而来。

For VS Code specifically, we took our time to iterate on a number of “editor” related symbols before pivoting to a subset of the infinity symbol.

We feel that the icon denotes ‘openness’. It conveys that VS Code is (in a good way) a subset of our big brother, the Visual Studio IDE. And, if you look hard enough, you’ll find a small tribute to a great mind.

VS Code团队成员Chris Dias对于VS Code图标设计是这样说的,意思即为VS Code是无限符号和编辑器相关的符号?共同影响形成的,也是对老大哥VS的致敬,但是缺少的那一竖意味着开放性。

从图标可以看出来,微软对VS的定义是功能强大IDE,而VSC则是一个开放型Editor

上手体验

VS

对于初次使用VS的用户来说,基础的编译功能没有上手难度,建立工程后直接进行点击调试器即可,但是对于写一个小程序来说,使用vs显得杀鸡用牛刀了。

只是一个Hello World文件运行后文件夹的大小就达到了58M。这说明文件夹还有许多用不到的东西,但是VS已经帮用户生成了。说到这,让我想起来一些拍土味视频的套路——路旁的行人要在公共长凳上休息,主角过来直接大声阻止,然后拿着自己的袖子卖力地把椅子撸干净,做了个请的姿势;最后会随着“正道的光”的BGM,带上一句:“老铁们,你们觉得我做的对吗?”。当然,并不是说VS做的不好——VS如同航母一样,有发挥作用的时候,只是说对用户写小程序,不必说一定要用VS。

对于稍微大点的工程,需要调试、单元测试、性能分析、生成库等操作,如这篇博客,VS是最佳IDE选择,它具有丰富的度量工具和完善的测试体系,包括了整个软件生命周期中所需要的大部分工具。

VSC

首先明确一点,VSC不是一个集成开发环境,确切说是一个具有丰富扩展功能文本编辑器。以C++为例,要想运行一个Hello World,我们首先需要安装编译环境,再配置launch.json指定debugger,并在tasks.json指定编译器位置,才可以在命令行中得到打印输出,对于刚接触、不清楚编译原理的同学,就会造成疑惑。对比,VS集成了开发环境,就跳过了这些步骤。

此外,正如logo中的开口一样,VSC是一个开放的编辑器,只要安装了对应插件,就可以提供代码补全、高亮等功能,甚至VS中构建动态库、静态库都可以完成——所有功能,用户指定(前提是有插件)。对于开发软件来说,个人认为VS更加方便,不用自己去进行繁琐的配置

功能性BUG及改进意见

VS

  • BUG

    • 安装User版本后,无法在系统分区(盘) 创建默认文件夹Microsoft VS Code可见权限不足,需要通过手动建立文件夹的方式解决。我已经改为System版本,忘记截图了

  • 改进意见

    我觉的可以在代码补全方面做的更好一点,VS的代码补全必须按方向键选取,不能够预先停放在建议代码上,增加了方向键的点击。

    一个好的代码编辑器是对萌新的吸引力非常大,虽然即使不做这样的改进,大家也不会放弃VS,但是用户的自愿要比妥协好。

VSC

  • BUG

    在Visual Studio Market下载插件后,显示会计划安装,但是有时候会出现错误,关闭窗口后不显示自动安装,再打开关闭VS,依然不会执行,重启后才会生效。

  • 改进意见

    实现JSON的指导配置或自动配置。

评价

7分制VSVSC
用户界面 5 7
上手容易程度 6 5
专业程度 7 4
开放程度 5 7
内存占用 5 7
启动速度 5 7
合计 33 37
推荐程度 非常推荐 非常推荐

质量分析

工程量估计

在有UI支持的情况下,我预估VS需要四年的时间,VSC需要三年的时间。VSC是一款依靠扩展的软件,因此相比VS的一些功能(比如性能分析、代码度量、单元测试)需要集成到软件,花费的时间相对少一点。对于开发时间的数字我不是很有概念没有经历过工程的毒打,只是觉得如果大学内学习地很透彻,并且保证产能的话,不会花费特别特别多的时间。

质量排名

可以说,在全球的IDE流行指数上,VS占据着龙头老大的位置,VSC也位于第四,MS系IDE的都名列前茅。对于同类产品,如Eclipse,它主要用来开发Java、Php、Android等。在C++、C#等的开发上,VSC是全球第一IDE,工程能力强大,并且VS拥有自家平台优势,所写的目标代码适用于微软支持的所有平台。JetBrains的IDE除了IntelliJ外,比较小众,虽然UI设计出众,但是开发工程能力没有VS成熟。

提高的方面

对比其他的IDE,VS的不足有两点:

  • 支持语言

    语言主要是不支持Java、php等。

  • UI

    个人认为JetBrains做的UI太好了,VS向VSC看起就可以。

VSC则是一个万金油编辑器,网上对VSC也是一致好评,我觉得现在已经做的很好了,就是如果可以增加傻瓜式配置JSON就更NICE了。

造成BUG的可能原因

VS

未考虑插件异常中断。

VSC

测试没有注意在系统盘下测试。

建议和规划

市场估计

 市场潜在用户
VS 软件开发公司、个人 学生(比如我们)
VSC 个人、研究人员 -

注:我觉VSC不是主要的工程开发工具,但是在个人编程的角度上来讲,所有程序员都是潜在的用户。

市场分析

 
VS 工程能力强大 界面和代码书写较差
CLion UI界面优质 没有测试框架支持
dev 轻量化 官网都没了。。
 
VSC 开源,各项性能优秀 -
Sublime Text 轻便快捷 个人开发、难以保证投入

用户分析

 VSVSC
年龄阶段 步入职场 各年龄段
专业 计算机、软件 -
收入 15K-30K -
表面需求 开发项目 好用的编辑器
潜在需求 游戏、数码设备 -

功能设计

 VSVSC
功能 代码补全选框自动跳转 自动配置JSON
原因 需要额外点击方向键进行选定 现版本手动配置JSON,经常要搜教程
创新 便捷了代码书写,提升用户体验 完善功能、更加适合新手
原文地址:https://www.cnblogs.com/lucien98/p/12576136.html