.NET开发人员应该下载的十个必备工具(1)
- NUnit:编写单元测试的工具
- NDoc:创建代码文档的工具
- NAnt:生成解决方案的工具
- CodeSmith:代码生成工具
- FxCop:用于监视代码的——代码警察
- Snippet Compiler:小型代码段编译工具
- 两个不同的转换器工具,ASP.NET 版本转换器(Version Switcher)和 Visual Studio .NET 项目转换器(Project Converter)
Regulator:生成正则表达式工具 - .NET Reflector:程序集分析检查工具
本文使用了以下技术:.NET,C#,Visual Basic .NET,Visual Studio .NET
除非你使用可获得的最好的工具,否则别指望能生成一流的应用程序。除了Visual Studio .NET 这种大型工具以外,你从 .NET 社区还可以获得许多小型的、不太为人所知的工具。我在本文中将向你介绍几个目前可以获得的、面向 .NET 开发的最好的免费工具。我将引领你完成一个有关如何使用每种工具的快速教程—— 有些工具在许多场合可以节约你的时间,而另一些工具则可能完全改变你编写代码的方式。因为我要在本篇文章中介绍如此之多的不同工具,所以我无法详尽讨论其中每种工具,但你应该充分了解每种工具的信息,以便决定哪些工具对你的项目有用。
Snippet Compiler
Snippet Compiler 是一个基于 Windows 的小型应用程序,你可以通过它来编写、编译和运行代码。如果你具有较小的代码段,并且你不想创建完整的 Visual Studio .NET 项目(以及该项目附带的所有文件),则该工具会很有用。
例如,假设我希望向你示范如何从 Microsoft .NET 框架中启动另一个应用程序。在 Snippet Compiler 中,我将通过新建一个能够创建小型控制台应用程序的文件开始。可以在该控制台应用程序的 Main 方法内部创建代码片段,而这正是我要在这里做的事情。下面的代码片段演示了如何从 .NET 框架中创建记事本实例:
System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName= "notepad.exe"; proc.Start(); proc.WaitForExit();
当然该代码片段本身无法编译,而这正是 Snippet Compiler 的用武之地。Figure 1 显示了 Snippet Compiler 中的这一代码示例。
Figure 1 Snippet Compiler 运行画面
为了测试该代码片段,只须按 play(运行)按钮(绿色三角形),它就会在调试模式下运行。该代码片段将生成一个弹出式控制台应用程序,并且将显示记事本。当你关闭记事本时,该控制台应用程序也将关闭。
就我个人而言,我是在尝试为某位有求于我的人士创建一个小型示例时,才发现 Snippet Compiler 是个无价之宝——如果不使用该工具,那么我通常必须新建一个项目,确保每个部分都能编译通过,然后将代码片段发送给求助者,最后删除该项目。Snippet Compiler 使得这一过程变得更容易、更爽快。
Snippet Compiler 由 Jeff Key 编写,下载地址是:http://www.sliver.com/dotnet/SnippetCompiler
Regulator
Regulator 是最近添加到我的头等工具清单中的。它是一种很有特色的工具,能够使生成和测试正则表达式变得很容易。由于正则表达式在 .NET 框架中受到极好的支持,因而人们对正则表达式重新产生了兴趣。正则表达式用来基于字符、频率和字符顺序定义字符串中的模式。它们最常见的用途是作为验证用户输入有效性的手段或者作为在较大字符串中查找字符串的方法——例如,在 Web 页上查找 URL 或电子邮件地址。
Regulator 允许你输入一个正则表达式以及一些针对其运行该表达式的输入。这样,在应用程序中实现该正则表达式之前,你便可以了解它将产生什么效果以及它将返回哪些种类的匹配项。Figure 2 显示了带有简单正则表达式的 Regulator。
Figure 2 Regulator 运行画面
文档中包含该正则表达式——在该示例中,它是 [0-9]*,应该匹配一行中任意数量的数字。右下侧的框中含有针对该正则表达式的输入,而左下侧的框显示了该正则表达式在输入内容中找到的匹配项。象这样在单独应用程序中编写和测试正则表达式,要比尝试在你自己应用程序中处理它们容易得多。
Regulator 中的最佳功能之一——是能够在 regexlib.com 搜索在线正则表达式库。例如,如果你在搜索框中输入字符串“phone”,你将找到 20 种多种不同的能够匹配各种电话号码的正则表达式,包括用于英国、澳大利亚的表达式以及其它许多电话号码。Regulator 由 Roy Osherove 编写,下载地址是: http://royo.is-a-geek.com/regulator
CodeSmith
CodeSmith 是一种基于模板的代码生成工具,它使用类似于 ASP.NET 的语法来生成任意类型的代码或文本。与其它许多代码生成工具不同,CodeSmith 不要求你订阅特定的应用程序设计或体系结构。借助 CodeSmith 可以生成包括简单的强类型集合和完整应用程序在内的任何东西。
当生成应用程序时,无论是编写数据访问代码还是生成自定义集合,你会发现经常需要重复完成某些特定的任务。这时 CodeSmith 就显得特别有用,因为你可以编写模板自动完成这些任务,从而不仅提高你的工作效率,而且能够自动完成那些最为乏味的任务。CodeSmith 附带了许多模板,包括对应于所有 .NET 集合类型的模板以及用于生成存储过程的模板,但该工具的真正威力在于能够创建自定义模板。为了使你能够入门,我将快速介绍一下如何生成自定义模板。
生成自定义模板
CodeSmith 模板只是一些可以在任意文本编辑器中创建的文本文件。它们的唯一要求是用 .cst 文件扩展名来保存它们。我将要生成的示例模板将接受一个字符串,然后基于该字符串生一个类。创建模板的第一步是添加模板头,它可声明模板的语言、目标语言以及简要模板说明:
模板的下一部分是属性声明,在这里可声明将在模板每次运行时指定的属性。就该模板而言,我要使用的唯一属性只是一个字符串,因此属性声明如下所示:
该属性声明将使 ClassName 属性出现在 CodeSmith 属性窗口中,以便可以在模板运行时指定它。下一步是实际生成模板主体,它非常类似于用 ASP.NET 进行编码。你可以在 Figure 3 中查看该模板的主体。[编辑更新 — 6/16/2004:Figure 3 中的代码已被更新,以便对多线程操作保持安全。]
正如你所见,该模板接受字符串输入并使用该类名生成单独的类。在模板主体中,使用与 ASP.NET 中相同的起始和结束标记。在该模板中,我只是插入属性值,但你还可以在这些标记内部使用任意类型的 .NET 代码。在该模板完成之后,你就可以通过双击它或者从 CodeSmith 应用程序中打开它将其加载到 CodeSmith 中。Figure 4 显示了已经加载到 CodeSmith 中的该模板。
Figure 4 CodeSmith 模版
你可以看到左侧的属性正是我在该模板中声明的属性。如果我输入“SingletonClass”作为类名,并单击 Generate 按钮,则生成 Figure 3 的底部显示的类。
CodeSmith 使用起来相当容易,如果能够正确应用,则可以产生一些令人难以置信的结果。面向代码生成的应用程序中最常见的部分之一是数据访问层。CodeSmith 包括一个名为 SchemaExplorer 的特殊的程序集,可用来从表、存储过程或几乎任何其他 SQL Server? 对象生成模板。
CodeSmith 由 Eric J. Smith 编写,下载地址是:http://www.ericjsmith.net/codesmith
.NET开发人员应该下载的十个必备工具(1)相关推荐
- .Net开发人员应该下载的十种必备工具(三)
NDoc 编写代码文档资料几乎总是一项令人畏惧的任务.我所说的不是早期设计文档,甚至也不是更为详细的设计文档:我说的是记录类上的各个方法和属性.NDoc 工具能够使用反射来分析程序集,并使用从 C# ...
- .Net开发人员应该下载的十种必备工具(一)
·用于编写单元测试的 NUnit ·用于创建代码文档资料的 NDoc ·用于生成解决方案的 NAnt ·用于生成代码的 CodeSmith ·用于监视代码的 FxCop ·用于编译少量代码的 Snip ...
- .Net开发人员应该下载的十种必备工具(二)
NUnit NUnit 是为 .NET 框架生成的开放源代码单元测试框架.NUnit 使您可以用您喜欢的语言编写测试,从而测试应用程序的特定功能.当您首次编写代码时,单元测试是一种测试代码功能的很好方 ...
- [导入]每个开发人员现在应该下载的十种必备工具
每个开发人员现在应该下载的十种必备工具 文章来源:http://blog.csdn.net/yanlixin4csdn/archive/2004/07/22/48297.aspx 转载于:https: ...
- .NET开发不可错过的25款必备工具
.NET开发不可错过的25款必备工具 这些年来,我们的.NET开发团队不断在更新升级开发工具,这也提供了一个机会,让我们能对.NET系列的开发工具做出不断的评估和规范.以下是我 们总结出的一些.NET ...
- 开发人员该选择什么大数据工具提高工作效率?
开发人员该选择什么大数据工具提高工作效率? 海量数据使得数据分析工作变得繁重困难,开发人员选择合适的大数据工具来开发大数据系统成为新的挑战.因此开发人员要根据不同的数据处理方式对大数据工具进行分类. ...
- 人工智能开发人员工作流程、看法、工具统计数据
人工智能开发人员工作流程.看法.工具统计数据 本文目录: 一.人工智能开发所需要的技能和知识 二.开发人工智能需要以下工具 2.1.开发过程中的人工智能工具调查 2.2.AI 工具情绪调查 2.3.A ...
- [MSDN]每个开发人员现在应该下载的十种必备工具
本文讨论: • 用于编写单元测试的 NUnit • 用于创建代码文档资料的 NDoc • 用于生成解决方案的 NAnt • 用于生成代码的 CodeSmith • 用于监视代码的 FxCop • 用于 ...
- 每个开发人员现在应该下载的十种必备工具
本文自发布以来已经增加了新信息.(摘自 msdn ) 本文讨论: • 用于编写单元测试的 NUnit • 用于创建代码文档资料的 NDoc • 用于生成解决方案的 NAnt • 用于生成代码的 Cod ...
- 海量资源!开发人员成功转行数据科学必备清单
全文共4814字,预计学习时长10分钟 图片来源:pexels.com/@tdcat 现在很多人都想成为一名数据科学家--从博士生到数据分析师.也许开发人员有同样的想法,觉得自己至少应找一些数据科学的 ...
最新文章
- Java并发编程71道面试题及答案 1
- java Date工具类
- ES6 使用数据类型Set求交集、并集、差集
- python聊天程序程序代码_python聊天程序实例代码分享
- oracle 递归计算,SQL(Oracle)中的递归计算
- 实现 Spherical Harmonic Lighting
- 从阿里外包月薪5K到转岗正式员工月薪15K,这100多天的心酸只有自己知道...
- Maven环境变量配置不成功
- Mplay 常用命令及功能简介
- 从集显到核显!Intel的显卡技术发展史
- 【Ubuntu】Ubuntu18.04无法识别移动硬盘、U盘解决方法
- 绕过限制低价购买和增删低价购买逻辑漏洞
- 智能手表能测新冠?你的Fitbit可能是一个全功能脉搏血氧计
- 《Unity Shader入门精要》 第五章 开始学习Unity Shader之旅 笔记
- 护眼台灯哪个牌子最好?被央视315表扬的护眼灯
- 堡垒机、运维堡垒机、开源堡垒机、云堡垒机全面解析
- 【科创人】联软科技张建耀:不擅长营销的拓荒高手,企业长期发展必经管理变革
- 集成学习1——voting、baggingstacking
- ndows 7(sp1,Windows 7 SP1 正式版(含中文)急速下载!
- 如何计算我的“五险一金”