.NET开发人员十大必备下载工具2

.NET开发人员十大必备下载工具出处:msdn
[ 2005-09-14 09:45:28 ] 作者:James Avery(译:NorthTibet) 责任编辑:moningfeng
<script src="http://adv.pconline.com.cn/adpuba/show?id=pc.rjzx.kaifa.wenzhang.biaotixia.&media=js&pid=cs.pconline.rjzx.biaoti." type="text/javascript"></script>
<script type="text/javascript"> var speed=100 demo2.innerHTML=demo1.innerHTML function Marquee(){ if(demo2.offsetTop-demo.scrollTop<=0) demo.scrollTop-=demo1.offsetHeight else{ demo.scrollTop++ } } var MyMar=setInterval(Marquee,speed) demo.οnmοuseοver=function() {clearInterval(MyMar)} demo.οnmοuseοut=function() {MyMar=setInterval(Marquee,speed)}</script>
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
    FxCop
      .NET 框架非常强大,这意味极有可能创建优秀的应用程序,但也同样存在创建劣质程序的可能。FxCop 是有助于创建更好的应用程序的工具之一,通过分析程序集,并使用许多不同的规则来检查它是否符合这些规则。FxCop 随附了由 Microsoft 创建的一组规则,你也可以创建并包括你自己的规则。例如,如果你决定所有的类都应该具有一个不带任何参数的默认构造函数,则可以编写一条规则,以确保程序集的每个类上都具有一个构造函数。这样,无论是谁编写该代码, 你都将获得一定程度的一致性。如果你需要有关创建自定义规则的详细信息,参见 John Robbins 有关这方面的 Bugslayer 专栏文章。

     

      那么,让我们看看实际运行的 FxCop,并且留心一下它在我正在开发的 NUnitExample 程序集中找到什么错误。当你打开 FxCop 时,你首先需要创建一个 FxCop 项目,然后向其添加你要测试的程序集。在将该程序集添加到项目以后,就可以按 Analyze,FxCop 将分析该程序集。Figure 6 显示了 FxCop 在该程序集中找到的错误和警告。

    Figure 6 FxCop 运行画面

      FxCop 在我的程序集中找到了几个问题。你可以双击某个错误以查看详细信息,包括规则说明以及在哪里可以找到更多信息。(你可以做的一件有趣的事情是在框架程序集上运行 FxCop 并查看发生了什么事情。)

      FxCop 可以帮助你创建更好的、更一致的代码,但它无法补偿低劣的应用程序设计或非常简单拙劣的编程。FxCop 也不能替代对等代码检查,但是因为它可以在进行代码检查之前捕获大量错误,所以你可以花费更多时间来解决严重的问题,而不必担心命名约定。FxCop 由 Microsoft 开发,下载地址是:http://www.gotdotnet.com/team/fxcop

    Flash剧场全新改版,精品Flash让你看够玩够!

    文 章 导 航 条
    代码段编译工具:Snippet Compiler
    正则表达式工具:Regulator
    代码生成工具:CodeSmith
    编写单元测试工具:NUnit
    监视代码工具:FxCop
    程序集分析检查工具:Reflector
    创建代码文档工具:NDoc
    生成解决方案工具:NAnt
    ASPNET版本转换器
    VSNET项目转换器

    [上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [下一页]
     
    .NET开发人员十大必备下载工具出处:msdn
    [ 2005-09-14 09:45:30 ] 作者:James Avery(译:NorthTibet) 责任编辑:moningfeng
    <script src="http://adv.pconline.com.cn/adpuba/show?id=pc.rjzx.kaifa.wenzhang.biaotixia.&media=js&pid=cs.pconline.rjzx.biaoti." type="text/javascript"></script>
    <script type="text/javascript"> var speed=100 demo2.innerHTML=demo1.innerHTML function Marquee(){ if(demo2.offsetTop-demo.scrollTop<=0) demo.scrollTop-=demo1.offsetHeight else{ demo.scrollTop++ } } var MyMar=setInterval(Marquee,speed) demo.οnmοuseοver=function() {clearInterval(MyMar)} demo.οnmοuseοut=function() {MyMar=setInterval(Marquee,speed)}</script>
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
    Lutz Roeder 的 .NET Reflector
      下一个必不可少的工具称为 .NET Reflector,它是一个类浏览器和反编译器,可以分析程序集并向你展示它的所有秘密。.NET 框架向全世界引入了可用来分析任何基于 .NET 的代码(无论它是单个类还是完整的程序集)的反射概念。反射还可以用来检索有关特定程序集中包含的各种类、方法和属性的信息。使用 .NET Reflector,你可以浏览程序集的类和方法,可以分析由这些类和方法生成的 Microsoft 中间语言 (MSIL),并且可以反编译这些类和方法并查看 C# 或 Visual Basic ?.NET 中的等价类和方法。

     

      为了演示 .NET Reflector 的工作方式,我将加载和分析前面已经显示的 NUnitExample 程序集。Figure 7 显示了 .NET Reflector 中加载的该程序集。

    Figure 7 NUnitExample 程序集

      在 .NET Reflector 内部,有各种可用来进一步分析该程序集的工具。要查看构成某个方法的 MSIL,请单击该方法并从菜单中选择 Disassembler。

      除了能够查看 MSIL 以外,你还可以通过选择 Tools 菜单下的 Decompiler 来查看该方法的 C# 形式。通过在 Languages 菜单下更改你的选择,你还可以查看该方法被反编译到 Visual Basic .NET 或 Delphi 以后的形式。以下为 .NET Reflector 生成的代码:

    public void HashtableAddTest()
    {
    Hashtable hashtable1;
    hashtable1 = new Hashtable();
    hashtable1.Add("Key1", "Value1");
    hashtable1.Add("Key2", "Value2");
    Assert.AreEqual("Value1", hashtable1["Key1"],
    "Wrong object returned!");
    Assert.AreEqual("Value2", hashtable1["Key2"],
    "Wrong object returned!");
    }


      前面的代码看起来非常像我为该方法实际编写的代码。以下为该程序集中的实际代码:

    public void HashtableAddTest()
    {
    Hashtable ht = new Hashtable();

    ht.Add("Key1", "Value1");
    ht.Add("Key2", "Value2");

    Assert.AreEqual("Value1", ht["Key1"],
    "Wrong object returned!");
    Assert.AreEqual("Value2", ht["Key2"],
    "Wrong object returned!");
    }


      尽管上述代码中存在一些小的差异,但它们在功能上是完全相同的。

      虽然该示例是一种显示实际代码与反编译代码之间对比的好方法,但在我看来,它并不代表 .NET Reflector 所具有的最佳用途 — 分析 .NET 框架程序集和方法。.NET 框架提供了许多执行类似操作的不同方法。例如,如果你需要从 XML 中读取一组数据,则存在多种使用 XmlDocument、XPathNavigator 或 XmlReader 完成该工作的不同方法。通过使用 .NET Reflector, 你可以查看 Microsoft 在编写数据集的 ReadXml 方法时使用了什么,或者查看他们在从配置文件读取数据时做了哪些工作。.NET Reflector 还是一个了解以下最佳实施策略的优秀方法:创建诸如 HttpHandlers 或配置处理程序之类的对象,因为你可以了解到 Microsoft 工作组实际上是如何在框架中生成这些对象的。

      .NET Reflector 由 Lutz Roeder 编写,下载地址是: http://www.aisto.com/roeder/dotnet

    Flash剧场全新改版,精品Flash让你看够玩够!

    文 章 导 航 条
    代码段编译工具:Snippet Compiler
    正则表达式工具:Regulator
    代码生成工具:CodeSmith
    编写单元测试工具:NUnit
    监视代码工具:FxCop
    程序集分析检查工具:Reflector
    创建代码文档工具:NDoc
    生成解决方案工具:NAnt
    ASPNET版本转换器
    VSNET项目转换器

    [上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [下一页]
    .NET开发人员十大必备下载工具出处:msdn
    [ 2005-09-14 09:45:32 ] 作者:James Avery(译:NorthTibet) 责任编辑:moningfeng
    <script src="http://adv.pconline.com.cn/adpuba/show?id=pc.rjzx.kaifa.wenzhang.biaotixia.&media=js&pid=cs.pconline.rjzx.biaoti." type="text/javascript"></script>
    <script type="text/javascript"> var speed=100 demo2.innerHTML=demo1.innerHTML function Marquee(){ if(demo2.offsetTop-demo.scrollTop<=0) demo.scrollTop-=demo1.offsetHeight else{ demo.scrollTop++ } } var MyMar=setInterval(Marquee,speed) demo.οnmοuseοver=function() {clearInterval(MyMar)} demo.οnmοuseοut=function() {MyMar=setInterval(Marquee,speed)}</script>
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
  • -
    NDoc
      编写代码文档资料几乎总是一项令人畏惧的任务。我所说的不是早期设计文档,甚至也不是更为详细的设计文档;我说的是记录类上的各个方法和属性。NDoc 工具能够使用反射来分析程序集,并使用从 C# XML 注释生成的 XML 自动为代码生成文档资料。XML 注释仅适用于 C#,但有一个名为 VBCommenter 的 Visual Studio .NET Power Toy,它能够为 Visual Basic .NET 完成类似的工作。此外,下一版本的 Visual Studio 将为更多语言支持 XML 注释。

      使用 NDoc 时,你仍然在编写代码的技术文档,但你是在编写代码的过程中完成了文档编写工作(在 XML 注释中),而这更容易忍受。使用 NDoc 时,第一步是为你的程序集打开 XML 注释生成功能。右键单击该项目并选择 Properties | Configuration Properties | Build,然后在 XML Documentation File 选项中输入用于保存 XML 文件的路径。当该项目生成时,将创建一个 XML 文件,其中包含所有 XML 注释。下面是 NUnit 示例中的一个用 XML 编写了文档的方法:

    /// <summary>
    /// This test adds a number of values to the Hashtable collection
    /// and then retrieves those values and checks if they match.
    /// </summary>
    [Test]
    public void HashtableAddTest()
    {
    //Method Body Here
    }


      有关该方法的 XML 文档资料将被提取并保存在 XML 文件中,如下所示:

    <member name="M:NUnitExample.HashtableTest.HashtableAddTest">
    <summary>This test adds a number of values to the Hashtable collection
    and then retrieves those values and checks if they match.</summary>
    </member>


      NDoc 使用反射来考察你的程序集,然后读取该文档中的 XML,并且将它们进行匹配。NDoc 使用该数据来创建任意数量的不同文档格式,包括 HTML 帮助文件 (CHM)。在生成 XML 文件以后,下一步是将程序集和 XML 文件加载到 NDoc 中,以便可以对它们进行处理。通过打开 NDoc 并单击 Add 按钮,可以容易地完成该工作。

      在将程序集和 XML 文件加载到 NDoc 中并且使用可用的属性范围自定义输出以后,单击 Generate 按钮将启动生成文档资料的过程。使用默认的属性,NDoc 可以生成一些非常吸引人并且实用的 .html 和 .chm 文件,从而以快速有效的方式自动完成原来非常乏味的任务。

      NDoc 是一个开放源代码项目,下载地址是: http://ndoc.sourceforge.net/

    Flash剧场全新改版,精品Flash让你看够玩够!

    文 章 导 航 条
    代码段编译工具:Snippet Compiler
    正则表达式工具:Regulator
    代码生成工具:CodeSmith
    编写单元测试工具:NUnit
    监视代码工具:FxCop
    程序集分析检查工具:Reflector
    创建代码文档工具:NDoc
    生成解决方案工具:NAnt
    ASPNET版本转换器
    VSNET项目转换器

    [上一页] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [下一页]
  • 评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值