OceaBase开发者大会落地上海!4月20日共同探索数据库前沿趋势!报名戳 了解详情
写点什么

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:081180
用户头像

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

关注

评论

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

[架构师训练营] Week02 - 学习总结

谭方敏

我终于弄懂了Python的装饰器(四)

BigYoung

Python 装饰器

区块链或将成为整治形式官僚主义的“大杀器”

CECBC

智能合约 去中心 防篡改 服务高效性

Java中异常处理的9个最佳实践

码农神说

异常

如何写一份合格的技术简历?

通天哪吒

面试

一篇文章深入理解JDK8 HashMap

itlemon

源码 hashmap 线程安全

我终于弄懂了Python的装饰器(一)

BigYoung

Python 装饰器

架构师训练营第五周学习总结

R20114

第五周作业

一篇文章深入理解JDK7 HashMap

itlemon

hashmap map 源码解析 哈希冲突

编程能力 —— TicTacToe(井字棋)

wendraw

Java 大前端 编程能力

环信即时通讯云荣获《2020年度云通讯产品创新奖》

DT极客

我终于弄懂了Python的装饰器(三)

BigYoung

Python 装饰器

Python中 *args 和 **kwargs的用法

BigYoung

Python *args **kwargs 缺省参数

第五周学习总结

我终于弄懂了Python的装饰器(二)

BigYoung

Python 装饰器

出成绩了!Avaddon勒索病毒劣迹昭著,6月勒索病毒占比TOP 10榜上有名

360安全卫士

勒索病毒

可读代码编写炸鸡四(下篇) - 提炼注释的下一步是提炼注释

多选参数

代码质量 代码 代码组织 代码规范

Week5作业

王志祥

极客大学架构师训练营

一致性Hash算法

莫莫大人

极客大学架构师训练营

配置类需要标注@Configuration却不知原因?那这次就不能给你涨薪喽

YourBatman

spring Spring Boot Spring Framework @Configuration Spring配置类

第五章作业

小胖子

你不知道的 Blob

阿宝哥

Java 大前端 Web Blob

猿灯塔:spring Boot Starter开发及源码刨析(一)

猿灯塔

Java 源码剖析

【总结】技术选型

小胖子

小姐姐面试蚂蚁金服被虐经历,哪吒心疼.

通天哪吒

面试

Python 中的元类到底是什么?这篇恐怕是最清楚的了

BigYoung

Python python元类

你到底在忙啥呢?

池建强

创业 写作

计算机操作系统基础(十六)---进程同步之共享内存

书旅

php laravel 操作系统 进程 线程’

架构师训练营-第5周作业

坂田吴奇隆

极客大学架构师训练营

架构师训练营-第5周总结

坂田吴奇隆

极客大学架构师训练营

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