InfoQ

新闻

重构和静态分析被添加进Data Dude工具

作者 Jonathan Allen译者 朱永光 发布于 2007年9月13日 下午10时30分

社区
.NET
主题
工件和工具
标签
DataDude,
VSTS For DB Professionals

微软发布了第一套针对VSDBPro(即 Data Dude)的Power Tools。其中包括了重构、静态分析、针对数据和结构比较的MSBuild任务,以及一个依赖查看器(Walker)。

Data Dude,正式叫法是Visual Studio Team Edition for Database Professionals,是一个面对数据库开发人员的IDE,能让其对数据库结构如何和何时改变进行更多控制。基本前提是数据库开发人员能够像软件开发人员那样工作,做出的改变能在本地进行测试,基于更改集而不是特定的脚本来提交更改。

Data Dude的Power Tools 拥有大量的加强特性,这些都是在基本产品中严重缺乏的。第一个特性是依赖查看器。它也许不是那么有趣,但是很重要——当需要确定一个更改会产生那些影响的时候。

对重构的支持,虽然依然有些限制,但清楚地看到其在成长。最初的版本只包含了“Rename”操作。在Power Tools安装后,你也可以获得如下功能:

  • 移动结构:这允许你在现存的结构中移动对象
  • 通配符扩展:可以使用任意的 SELECT * 并转换成一个适当定义的数据列列表,如果表或实体通过一个别名被引用,我们也能使用别名来扩展数据列列表而无需使用表或视图的全限定名称
  • 全限定名称:可以全限定每个对象引用的名称,这能完全避免你的查询语句中存在的二义性

如果一个解决方案同时包含了传统的C#或VB项目和数据库项目,那么重构能跨项目边界来使用。这个版本只能保持强类型数据集同步。

一个新数据生成器也已经被加入进来。数据生成器使用随机的测试数据来填充数据表,当需要大量数据集的时候这个功能特别有用。

我们添加了一个新的生成器,名为“Sequential Data Bound Generator”,和Data Bound Generator最大的区别在于,这个生成器在特定时间内只有一个单独的数据行保存在内存中,数据行按照他们从查询结果中获取到的顺序来被逐一处理。Data Bound Generator则使用查询来填充一个字典对象,在生成期间保存到内存里,并从字典对象中随机选择值。

MSBuild任务也被加入进来,以用作比较结构和数据。

最后,有一个面向T-SQL的静态代码分析工具。原定义的82个规则,目前只包含了15个。尽管如此,DBA和数据库开发人员肯定会发现他们找到了一个宝贵的工具,正如软件开发人员找到FxCop那样。

查看英文原文:Refactoring and Static Analysis Added to "Data Dude"

没有回复

回复

独家内容

Hadoop中的集群配置和使用技巧

本文介绍了Hadoop如何配置分布式框架运行环境,同时特别讲解了其中的一些细节。Hadoop可以单机跑,也可以配置集群跑,这里主要重点说一下集群配置运行的过程。本文是Hadoop入门实践三部曲的第二部。

JavaScript多线程编程简介

虽然有越来越多的网站在采用AJAX技术,但是开发复杂的AJAX应用仍然是个难题。本文探索了如何应用多线程缓解其中一些问题。

Ruby的开放类──或者:怎样避免动态打补丁

Ruby的开放类(Open Classes)功能强大,但很容易被误用。这篇文章关注于怎样减少使用开放类的风险,介绍了一些其他可替代的类似方法,并分析了其他语言如何实现类似的功能。

REST反模式

在本文中,Stefan Tilkov讲解了一些经常出现在自称“符合REST式设计”的应用中的反模式(比如:全部采用GET或POST,忽视缓存及响应代码,误用cookies,忘记超媒体与MIME类型,以及破坏自描述性等),并给出了避免这些反模式的对策。

分布式计算开源框架Hadoop介绍

Hadoop是Apache开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用,如亚马逊、Facebook和Yahoo等等。本文是Hadoop入门实践三部曲的第一部,主要讲述了What和Why的问题。

37 Signals的实用最小主义实践

本文结合37 Signals公司在开发Basecamp等产品时的实践,介绍了实用最小主义开发方法。实践证明,尤其是在开发Web应用时,这一方法非常有效。根据作者的观察,Google现在之所以那么成功,其所遵循的软件开发哲学和最小实用主义非常类似。

与林昊一起探讨OSGi

在今年5月份的网侠大会上,InfoQ中文站有幸与国内OSGi的先锋林昊(BlueDavy)在一起探讨了OSGi的相关话题,包括它的优势、复杂度以及Java下的实现等等。

超越F#基础——异步工作流

Robert Pickering在F#的第三篇文章中,他继续着上次的话题,不过这次他要关注的是异步工作流(Asynchronous Workflows),以及在使用这个特性后获得的性能改善。虽然这篇文章是关于F#的,但是这样的知识对于所有的.NET语言都是适用的。