BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

NDepend 3.0已与Visual Studio集成

| 作者 Abel Avram 关注 10 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2010年2月11日. 估计阅读时间: 4 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

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 > 30 AND IsPublic
//Select refactored methods that are not covered by tests
SELECT METHODS WHERE CodeWasChanged AND PercentageCoverage < 100
//Select top 10 most complex methods
SELECT TOP 10 METHODS ORDER BY CyclomaticComplexity

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

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

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT