MSDN Magazine > Home > Issues > 2008 > Launch >  工具箱: SQL 代码补全、Subversion 工具、敏捷开发及其他内容
工具箱
SQL 代码补全、Subversion 工具、敏捷开发及其他内容
James Avery

帮助编写 SQL
作为一名开发人员,更换语言是一项很让人头疼的事。例如,如果使用的是 Visual Basic® .NET 且需要编写一些 C#,就要花时间记住等效的 C# 语法。好在使用 Microsoft®.NET Framework 的开发人员日常很少需要同时编写 Visual Basic .NET 和 C#。我们主要使用 SQL。但 Visual Basic .NET 和 C# 都提供 IntelliSense® 来帮助我们记住语言关键字,而 Visual Studio® 2005 和 SQL Server® Management Studio 却不提供任何线索。
这时候,SqlAssist 就派上用场了。SqlAssist 有两个版本提供了类似 IntelliSense 的代码补全功能:一个适用于 Visual Studio 2005,另一个适用于 SQL Server Management Studio。
SqlAssist 中的代码补全以基本 SQL 命令开头。例如,要键入 FROM,只需键入 "f" 然后按 Tab 键即可。它还支持数据库表和列(即使在它们使用别名时亦如此)。此外,SqlAssist 还支持本地变量并能在调用存储过程或函数时显示参数信息。
如果您要编写 SQL 语句并开始编写 Join 子句,就会用到最让人心动的代码补全功能:您将看到您所查询的表的外键列表。选择外键,将自动添加 Join 子句。
SqlAssist 还提供一些很有用的文本编辑器支持。键入表或列名称时,它将自动确保该名称的大小写正确。例如,vendoraddress 将自动更改为 VendorAddress。此外,打开 SQL 文件时,文件出现奇怪的格式并不少见(即,不是您期望的格式);SqlAssist 提供了 SQL 格式化功能,它会根据可配置选项自动重设文件的格式。
SqlAssist 还提供了可创建并存储 SQL 代码段的机制,称为 SQL 模板。您可以轻松地为常用的 SQL 或标题创建模板,当需要时将它们拖动至查询中。
Visual Studio 加载项还为在 Visual Studio 中使用 SQL 文件提供了出色的支持。只需打开 SQL 文件即可连接数据库,获取 SqlAssist 代码补全的支持并执行脚本文件。自从安装了 SqlAssist 后,除了连接或分离数据库这类真正的管理任务外,我没有打开过 SQL Server Management Studio。
价格:单个版本 49 美元,两个版本 75 美元。
SqlAssist 提供代码补全功能  (单击该图像获得较大视图)

将 Visual Studio 与 Subversion 集成
Subversion 是一个开源源代码控制系统,在过去的几年中已得到广泛应用。它采用一种简单易用的方法来处理多项常用源控制功能,如分割、标记和合并等。Subversion 的普及由以下因素所致:它是免费的开放源代码,易于安装和使用,且具有很多出色的工具(如 TortoiseSVN)。Windows® 资源管理器扩展项 TortoiseSVN 使您不必借助单独的工具,在标准的资源管理器窗口中就能正确执行所有源代码控制函数。
SourceForge 已经开始提供 Subversion 托管,CodePlex 甚至还提供了 Subversion 仿真,因此 TortoiseSVN 可以与站点搭配使用。随着一些 .NET 站向 Subversion 转移,迫切需要能与其他流行的源代码控制系统中的 Visual Studio 紧密集成。
VisualSVN 应运而生,它是在 Visual Studio 和 Subversion 之间提供完美集成的 Visual Studio 加载项。使用 VisualSVN 时,您会在 Visual Studio 提供的“解决方案资源管理器”中的每个文件旁看到易于理解的标记(请注意,解决方案必须存储于 Subversion 存储库中)。这些标记在修改、取消修改文件或文件发生冲突时显示。您可右键单击文件显示更改、取消更改、执行更新或提交。
使用 VisualSVN 菜单,您可管理对整个项目的更改。VisualSVN 菜单还包含许多 TortoiseSVN 常用函数的快捷方式,例如,文件库浏览器、创建和应用补丁,显示 Subversion 日志以及分割、合并和切换存储库。
最重要的敏捷概念之一是尽早并经常签入。通过尽快集成,您会发现任何潜在的合并问题,如果能持续进行集成,将会构建所有代码并运行测试。与 Visual Studio 紧密集成后,VisualSVN 使尽早并经常签入变得更加容易—将不断提醒您已修改了尚未签入的更改。由于可以从 Visual Studio 内部直接签入这些更改,因此可以立即实施。
价格:49 美元。
VisualSVN 提供函数快捷方式  (单击该图像获得较大视图)

快速开发应用程序
今年年底,Microsoft 发布了 ASP.NET MVC Framework,它使开发人员能够编写基于模型视图控制器的 Web 应用程序。许多 ASP.NET 开发人员一直热切期望将它作为标准 ASP.NET 页面模型的替代品。
不过,别担心—ASP.NET 页面模型不会从此消失。而是现在我们又多了一个选项。ASP.NET MVC Framework 为目标划分了明确的界线,使开发 Web 应用程序变得更容易。页面逻辑将存储在控制器中、HTML 将存储在视图中、应用程序逻辑将存储在模型中。
ASP.NET MVC Framework 是 Microsoft 解决方案拼板的第一部分。在 MVC Framework 发布后的大约一个月,第二部分接踵而至:Microsoft 雇佣了 Rob Conery 专攻其项目 SubSonic
SubSonic 是一个应用程序工具集,主要功能是完整生成数据访问层。与其他一些对象关系映射 (ORM) 框架不同,SubSonic 不是在运行时执行基于反射的映射,而是直接生成和编译数据访问层(因此,有些人把它称为代码生成工具而非 ORM)。
与其他 ORM 相比,SubSonic 采用独有的方法将表格映射至域模型。NHibernate(另一个用于 .NET 的 ORM)是先指定模型(或业务实体),然后通过 XML 属性或 .NET 属性将这些实体映射至数据库。SubSonic 是在两者之间进行切换并根据数据库架构创建模型。这两种方法各有优缺点,具体使用哪一种通常由个人偏好决定。
为获得完整的数据库模型,应安装 SubSonic 并通过 web.config 文件中的一些设置在应用程序中对其进行配置。该模型由与表格同名的简单类组成,其中包含适用于所有常用数据库操作的方法。例如,“产品”表将转换成“产品”类,并具有如 Save、Destroy 和 Where 之类的方法,后者用于查询数据库。复杂查询会使用独立查询对象。
与大多数 ORM 工具不同,SubSonic 提供了一种妥善的方式来处理存储过程。存储过程可以封装入单个类中,象调用方法一样调用这些过程。还支持访问视图。
除了 ORM 这个最主要的功能,SubSonic 还包括许多其他帮助程序函数和控件。其中一个更有用的控件是 Scaffold,它使快速启用和运行应用程序变得简单—虽然您可能不会在生产代码中使用这个控件,但它是构建原型的理想选择。还有一些更有用的帮助程序方法主要用于验证,它们的验证方法包罗万象(数字、仅限字母、邮政编码、每种主要信用卡等)。
SubSonic 本身是一个功能非常强大的应用程序工具集;如与 ASP.NET MVC 配合使用,它将成为非常有用的应用程序框架,效果不逊 .NET 和别的语言中提供的其他快速开发应用程序框架。
价格:免费,提供源代码。

书架
当敏捷方法刚开始流行时,它们基本上是与建模和项目管理软件分离的;敏捷方法所极力避免的是使用复杂统一建模语言的设计阶段和大型 Gannt 图表。随着敏捷方法日益成为主流,已创建了多种工具来满足其项目的需要。实际上,Microsoft 的主要应用程序生命周期管理工具 Visual Studio Team System (VSTS) 就是为与敏捷方法默契配合使用而构建的(尽管使用 VSTS 不一定必须要用敏捷方法)。
由 Will Stott 和 James W. Newkirk 撰写的《Visual Studio Team System:Better Software Development for Agile Teams》(Visual Studio Team System:帮助敏捷团队更好地开发软件)(Addison-Wesley Professional, 2007) 一书即是 Team System 工具极好的入门教程,也是处理敏捷方法项目的有益指南。该书介绍了 Visual Studio Team System 的各个组件并对其结合方式进行了说明。
然后简要介绍了极限编程。但是,如果想要在项目中使用极限编程,最好阅读这方面的专业书籍。随后,书中详细地介绍了 Microsoft Solutions Framework for Agile 流程以及如何更改当前流程。
接下来是深入探讨各个细节。逐个介绍源代码控件、持续集成和测试驱动开发,着重讲解 Team System 如何提供可与这些核心敏捷方法实践密切配合的功能。各个章节不仅收录了良好的实践建议,而且还包含 Team System 的分步说明和屏幕快照。
本书接下来讲述了通过类职责协作 (CRC) 卡进行轻量级建模,这是一种适合敏捷方法的建模途径。能在其中看到集成测试框架 (FIT) 的专门章节着实令我倍感惊喜。FIT 是一个开源测试工具,它可使用户或业务分析人员积极测试您的应用程序。
该书以 Visual Studio Team System 2005 为核心,但在本专栏出版之时可能已推出了 Visual Studio Team System 2008。常规指导将仍然有效,但特定于版本的说明和屏幕快照可能会与实际不符。
介绍敏捷方法还有更好的书籍,并且有些书籍在介绍 Team System 时采用的是更独立于方法的论述手法。但是,如果您恰巧是要使用 Team System 启动敏捷方法项目,本书将是最理想的选择。
价格:49.99 美元。
  (单击该图像获得较大视图)

请将您想询问的问题和提出的意见发送至 toolsmm@microsoft.com.


James Avery 经营一家 .NET 咨询公司 Infozerk Inc.。他最近出版了一本书,名为《Windows Developer Power Tools》(Windows 开发人员强力工具)(O'Reilly, 2006)。您可以发送电子邮件至 javery@infozerk.com 与他联系,也可以在 www.dotavery.com/blog 阅读他的网络日志。

Page view tracker