写点什么

NDepend 3.0 已与 Visual Studio 集成

  • 2010-02-10
  • 本文字数:1234 字

    阅读完需:约 4 分钟

NDepend 3.0 已与 Visual Studio 集成,支持对代码的实时分析、可以跨越多个 VS 解决方案进行代码分析、可以同时编辑多个 CQL 规则,此外还增强了搜索功能并提升了性能。

NDepend 3.0 的一些新特性列举如下:

  • 与 Visual Studio 的集成——NDepend 3.0 实现了与 Visual Studio 的深度集成,包括从 Solution Explorer 或 Code Editor 的上下文菜单中执行 NDepend 命令。此前,NDepend 可以在构建过程中分析代码;但现在还支持开发过程中的代码分析了,它会于开发过程中在 Visual Studio 后台执行,如果检测出违反了 CQL 规则就会即时通知用户。NDepend 3.0 可以集成 Visual Studio 2005、2008 以及 2010 SLCTP3 和 RC1。
  • 跨越多个 VS 解决方案进行代码分析——NDepend 3.0 可以分析不同的 VS 项目或是解决方案的代码。
  • 与 VS 搜索的增强集成——除了与 VS 的集成外,搜索功能也得到了极大的增强,可以根据多种条件进行查询:名字、正则表达式、代码度量(metrics)、可视性、纯度(purity)以及修改等等。还可以跨越多个 VS 解决方案进行搜索。
  • 可以同时编辑多个 CQL 规则——此前只能一次编辑一个 CQL 规则,然后检查是否合法;现在用户可以一次编辑多个规则。
  • Dependency Matrix、Dependency Graph 及 Metric View 实现了与 VS 的集成——现在 Dependency Matrix 和 Dependency Graph 已经集成到了 VS 中,这样用户无需脱离开发环境即可查看代码的依赖关系。
  • 更好的性能(由于引入了增量分析)——目前是通过低优先级的线程进行异步分析,作者声称 NDepend 可以在 2——5 秒内验证几百个规则;既可以在每次编辑时进行验证,也可以设定固定的时间间隔来验证。

可以查看发布声明来了解完整的新特性列表。

NDepend 是个.NET 软件分析工具,可用于检测项目中的代码依赖关系、进行快照(snapshot)比较或是验证项目是否符合代码质量规则。这些规则涵盖了 80 多个来自于不同领域的代码度量标准,比如依赖(Dependencies)、质量(Quality)、演进(Evolution)、纯度(Purity)/ 副作用(Side-Effects)/ 不变性(Immutability)、封装(Encapsulation)等等。

这些规则是通过 Code Query Language (CQL)创建的,该语言类似于 SQL,但查询的不是数据库而是代码。如下示例展示了如何用 CQL 进行查询:

复制代码
//Select all public methods with more than 30 lines of code
SELECT METHODS WHERE NbLinesOfCode > <b>30</b> AND IsPublic
//Select refactored methods that are not covered by tests
SELECT METHODS WHERE CodeWasChanged AND PercentageCoverage < <b>100<br></br>//Select top 10 most complex methods<br></br>SELECT TOP 10 METHODS ORDER BY CyclomaticComplexity</b>

既可以手工创建规则,也可以借助于 VisualNDepend 进行可视化创建。最新的 CQL 规范版本是 1.8,NDepend 2.9+ 均支持该版本的规范。

NDepend 3.0 将于本月发布,目前发布了两个Beta 版用于测试:专业版需要Pro 2.x 协议,试用版则免费。

查看英文原文: NDepend 3.0 Is Integrated with Visual Studio

2010-02-10 01:081331
用户头像

发布了 88 篇内容, 共 266.9 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Qt | 文件操作 QFile

YOLO.

qt 9月月更

Qt | 关于重绘事件处理函数 paintEvent()

YOLO.

c++ qt 9月月更

Qt | 关于矩形大小的使用 QSize

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | Scrcpy工具码流格式化

测吧(北京)科技有限公司

软件测试 测试

Qt | 深入了解Qt中的模型类

YOLO.

c++ qt 9月月更

Qt | 关于样式表的使用 QStyleSheet

YOLO.

c++ qt 9月月更

Qt | 关于Qt的模型/视图架构

YOLO.

c++ qt 9月月更

Qt | 按钮控件的使用 QPushButton

YOLO.

qt 9月月更

Qt | 关于画笔的使用 QPen

YOLO.

c++ qt 9月月更

Qt | 关于画图类的使用 QPainter

YOLO.

c++ qt 9月月更

Qt | 按钮控件的使用 QToolButton

YOLO.

c++ qt 9月月更

Qt | 文件信息 QFileInfo

YOLO.

c++ qt 9月月更

Qt | 关于点的坐标的使用 QPoint

YOLO.

c++ qt 9月月更

Qt | 关于目录操作的使用 QDir

YOLO.

c++ qt 9月月更

HarmonyOS 3百机升级计划,来了!

HarmonyOS开发者

HarmonyOS

Qt | 关于颜色属性的使用 QColor

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | 接口自动化测试如何进行认证?

测吧(北京)科技有限公司

测试 自动化测试

软件测试 | 测试开发 | 视频编辑SDK测试

测吧(北京)科技有限公司

软件测试 sdk

软件测试 | 测试开发 | 关于git日常用法,读懂这一篇,差不多就够了

测吧(北京)科技有限公司

git 测试

软件测试 | 测试开发 | AI测试中的数据收集

测吧(北京)科技有限公司

人工智能 测试

软件测试 | 测试开发 | 一次JVM内存泄漏排查过程

测吧(北京)科技有限公司

Java 测试

软件测试 | 测试开发 | 测试人生 | 00后0经验应届毕业生拿下2线城市15W offer,好励志~

测吧(北京)科技有限公司

软件测试 测试 offer

软件测试 | 测试开发 | 测试人生 | 疫情之下,1个月内涨薪50%拿下亿级流量金融上市公司新 offer,我柠檬了~

测吧(北京)科技有限公司

软件测试 测试 offer

FreeRTOS记录(三、RTOS任务调度原理解析_Systick、PendSV、SVC)

矜辰所致

Svc FreeRTOS 9月月更 Systick PendSV

软件测试 | 测试开发 | 探索Java中如何执行python脚本

测吧(北京)科技有限公司

Python 测试

NFT和元宇宙之间的关系是什么?

开源直播系统源码

NFT 区块链、 数字藏品 数字藏品系统

软件测试 | 测试开发 | 基于Bert迁移学习点击未知弹框

测吧(北京)科技有限公司

软件测试 测试

望繁信科技携手复旦大学教育发展基金会,齐心共助公益慈善义拍

望繁信科技

软件测试 | 测试开发 | 接口自动化中如何完成接口加密与解密?

测吧(北京)科技有限公司

Python 测试 自动化测试

Qt | 如何创建一个新的模型

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | Sikuli 基于图形识别的自动化测试技术

测吧(北京)科技有限公司

软件测试

NDepend 3.0已与Visual Studio集成_.NET_Abel Avram_InfoQ精选文章