分享好友 最新动态首页 最新动态分类 切换频道
Visual Studio 高级调试-企业版三大特性
2024-12-26 14:46

前面两篇博客主要介绍了和

Visual Studio 高级调试-企业版三大特性

这几篇博客的目的都是为了帮助大家更好的认识和使用Visual Studio,Visual Studio企业版订阅价格为每月250美元,很多同学想知道企业版有哪些特别的功能,这次我们一起简单认识下Visual Studio企业版特有的三大技术:代码图,IntelliTrace,以及特有测试工具。

开启该功能需要在Visual studio Enterprise Installer 组件库中勾选安装:。

Visual Studio Enterprise提供了代码可视化和建模工具,可以帮助项目负责人更直观的了解代码结构、类、项目之间的映射关系,更方便的评估当前代码是否符合设计或者存在潜在的风险。

解决方案代码图

这里我们以.NET经典的微服务项目为例。

使用Visual Studio为该解决方案一键生成代码架构图,我们可以对代码图进行展开,编辑,更改布局方式等。

我们还可以使用代码图分析功能,查找项目中的循环引用,中心,以及未被引用的元素。下面是一张开启了分析功能的代码图

使用代码图读懂DDD项目

假如你希望了解一个DDD项目,最好的方式就是去查看它的Domian定义,我们可以新建一个空白的代码图,然后将eshop项目中的Ordering.Domian拖到上面,查看领域层的设计。

  • 我们可以看到eshop有两个聚合根:Order和Buyer;鼠标分别点击代码图上Order和Buyer两个类。

  • Order生命周期中会有Started,Cancelled,Shipped三种事件发出

  • Order状态会有StcokConfirmed, AwaitingValidation, OrderPaid等事件

  • Buyer会有PaymentValidation领域事件发出。

我们可以很直观的通过代码图了解项目的主要业务逻辑,如果想了解的更细致,还可以继续选择展开代码图元素。

★ 通常DDD项目中领域实体只能通过聚合根来访问,通过代码图我们也可以看到IRepository只能访问Order和Buyer两个聚合,这一功能在Review代码时非常有价值。

可以使用架构关系图对代码执行架构验证,在最新版本中,Visual Studio 采用 Roslyn 分析器提供的强大分析功能,可以实时进行依赖项验证。

比如下面,我创建了一个依赖项验证设计图,然后在Ordering.SignalrHub项目中引用Ordering.Domain中的类时,因为依赖验证图中没有Ordering.SignalrHub对Ordering.Domain的直接引用,所以编译器将会提示错误

★ 项目负责人可以通过设置依赖验证图,以此来保证开发人员编写代码时是完全符合设计原则的,以此提高项目质量。

我们可以在Visual Studio中使用IntelliTrace记录和跟踪代码的执行历史记录,可缩短调试应用程序所用的时间。 还可以在部署后使用IntelliTrace收集器,来做问题诊断。

事件快照

IntelliTrace会为调试期间的事件生成快照,Visual Studio支持以下事件快照。

例如文件事件,当程序读写或者删除文件等操作时,IntelliTrace会记录下来;还有事件,当你的程序执行数据库操作时,IntelliTrace会自动记录下执行时的环境信息,以及SQL语句等。

另外它还会自动保存断点命中、异常、Http请求等事件发生时的快照。

历史调试

当你怀疑代码某个地方有Bug,通常会在它附近设置断点,然后调试,如果不起作用,则需要在代码的其他位置尝试设置一个断点,然后重新运行调试器,反复执行测试步骤,直到找到问题。

使用 IntelliTrace 和历史调试,无需再频繁的设置断点、重新启动调试、重复测试步骤。因为你可以回到任意事件发生时的位置,查看当时的信息。

比如下图接口代码随机生成一个0-10的数字,当随机值小于5时会抛出异常。

★ 点击,Visual Studio会恢复到异常发生时的状态,我们可以查看此时的线程堆栈信息。

Live Unit Testing

单元测试是非常重要的,当我们在对代码进行修改或者新增功能时,首先可以通过单元测试来验证逻辑的正确性。

Visual Stduio Enterprise除了常规的测试工具之外还提供了Live Unit Testing,它可以实时运行单元测试,并在编辑窗口的右侧给予提示,我们可以非常直观的看到当前修改是否通过单元测试校验,或者当前代码行是否被单元测试所覆盖。

我们还可以在Visual Stduio中查看代码覆盖率,它将显示在各个程序集、类和过程中运行的代码的百分比。 源编辑器突出显示测试的代码。

代码覆盖率将以块为单位计数。 块是恰好有一个入口点和出口点的一段代码。 在测试运行期间,如果程序的控制流通过某个块,则将该块计为“已覆盖”。 块的使用次数对结果没有影响。

开发团队通常以大约 80% 的代码覆盖率为目标。 在某些情况下,较低的覆盖率是可接受的。 例如,当某代码是从标准模板生成时,可接受较低的覆盖率。

好了,Visual Stduio的介绍就到这里,企业版还有一些其他的特性,因为我不常用就不多做介绍了。

最新文章
亲爱的美妆迷们,想知道哪款粉底液能让你肌肤如丝般光滑,妆容持久如初?紧跟潮流,一起来揭秘年度top10的秘密武器吧!每一款都是口碑与实力并存的瑰宝,你准备好了吗?
让你的AI女友写真如梦般真实,超实用的AI绘画生成工具评测!
1.4. Runway ML Runway ML则以其强大的视频生成效果而闻名,适合想要制作动态美女写真或短视频的用户。它能将静态的图片转化为动感的效果,营造出不同的场景氛围。不过,该程序的复杂性使它不太适合新手,使用起来需要花费时间进行学习。1.
短剧投放平台选择与赚钱机会的探讨
本文目录导读:短剧投放平台的选择赚钱机会的探讨随着互联网的快速发展,短剧作为一种新型的娱乐形式,逐渐受到了广大网友的喜爱,短剧投放平台也如雨后春笋般涌现,本文将就短剧投放平台的选择以及其中的赚钱机会进行探讨。1、主流短剧投
新闻资讯-突发消息!英国GCSE/Alevel或将引入AI技术出题,新趋势不可逆转
目前,GPT等AI工具已经完全融入了学习教育,改变了很多方面。而根据英国媒体的zui新消息,Ofqual负责人建议英国考试委员会应考虑使用AI来撰写GCSE和Alevel试卷。01“创作一份试题需要2年”考试监管机构相关临时负责人伊恩·鲍克汉姆爵士表
百度快照优化攻略,高效策略助力企业网络曝光升级
百度快照推广通过高效优化策略,助力企业快速提升网络曝光度,扩大品牌影响力,抢占市场先机。精准定位目标客户,提升搜索引擎排名,实现高效。随着互联网的快速发展,企业间的竞争日益激烈,如何在众多竞争者中脱颖而出,成为每个企业关注
Python ML常用库安装-详细滴
官网:tensorflow官网 1.CPU版本:2.GPU版本:安装预览版本(非稳定版本):3.导入(import)tensorflow出现DDL问题: vc_redist.x64.exe地址:下载地址 4.tensorflow的GPU版本前置cuda和cudnn要求:
韵云电脑软件,一款实用好用的云电脑选择
江山如画,云间电脑,仙子何方?试问世间,哪款软件,独领风骚?千古兴亡,岁月如梭,电子云舟,载我前行,欲觅良伴,指点江山,谈笑风生,今吾赋诗,以颂云电脑之佳选。吾观软件,犹如明珠,光华四射,首选“华为云电脑”,此乃国产之瑰宝
黄鹤楼(硬)红景天多少钱一包 黄鹤楼硬红景天价格
黄鹤楼红景天源自于西藏,相信很多朋友都见过了也抽过了,藏烟只接触过一次黄鹤楼的红景天,感觉还是不错的,黄鹤楼(硬)红景天多少钱一包?下面香烟网小编为大家整理介绍目前市面上现有的两款黄鹤楼硬红景天价格。黄鹤楼硬红景天价格1、黄鹤
指导大家微信红包透视专用开挂神器玩家必备神器
亲,天天麻将这款游戏可以开挂的,确实是有挂的,很多玩家在天天麻将这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微
全国性服务低成本付费投流广告推荐 汽车投流 专属定制
  信息流付费获客是一种营销策略,通过在信息流平台上购买广告位或推广服务,向用户展示相关的内容,从而吸引用户点击和转化为付费用户。  在进行信息流付费获客时,可以选择以下几种方式:  1. 广告投放:在信息流平台上购买广告位
相关文章
推荐文章
发表评论
0评