代码之家  ›  专栏  ›  技术社区  ›  Statement

为Visual Studio 2008推荐的TDD/Agile/Source Control插件[关闭]

  •  4
  • Statement  · 技术社区  · 15 年前

    我正在寻找一套好的插件,在开发软件时使用。目前,我正在执行一个项目,在这个项目中,我同时进行TDD的实验。最近,我对Agiles过程非常兴奋,我想知道如何进一步集成工具来帮助我完成项目和学习TDD。此外,我正在研究与SVN或其他版本的源代码管理存储库的集成。我还希望在构建中包含版本信息,因为我将公开发布版本里程碑以获取反馈。我的愿望是最终学会如何创建健壮的、可维护的软件,并从我长期停留在的牛仔编码世界中迈出一大步。

    一开始我有点担心会有太多的插件,因为我觉得如果我丢失了,或者没有按预期使用它们,可能会造成更多的伤害。我确实想到了一些样式cop/fx cop,用于维护编码标准,用于SVN集成的视觉SVN,使用nunit进行测试(以及可能的moq,但这只是因为我没有研究nunits模拟库)。我还没有尝试过像Resharper这样的工具,但是我正在考虑尝试它,因为我听到了很多关于它的好消息。

    我专门用C编码,编写了一个在Unity3D中使用的类库,Unity3D是一个支持.NET 2.0的免费游戏引擎。但是,测试本身可以是我的安装支持的任何.NET版本。我听说过一些自动测试会导致你提交失败的事情,我很高兴能尽快将我的脚趾浸入其中,因为我相信这会促使我更好地学习TDD。

    如果你知道任何其他插件可以满足我的需要,或者如果你认为我应该选择一个而不是另一个,请告诉我。

    因为我对插件还很陌生,所以我不介意你是否能激励我为什么以及何时使用它们。我真的很高兴能有一个好的环境来磨练我的技能。

    感谢您花时间阅读本文。我希望你还有东西要补充:)

    编辑

    我现在从一些使用样式cop的游戏中认识到,它可能不是TDD和使用默认设置的敏捷方法的最佳插件。虽然我确实认为我所生成的代码使用它具有非常高的标准,但我觉得许多规则(如严格的文档)都不如敏捷,因为您必须预先支付这些费用。在TDD中,测试本身用作文档和规范。思维敏捷,你不应该做你不需要做的事情。

    在我的特定情况下,我不需要额外的文档,因为这个库不打算在其他开发人员之间共享。不过,将来可能会这样,然后我们降落在另一个棒球场。我有点怀疑是否要凌驾于这些规则之上。我想一方面我希望干净和坚实的代码实践“良好的编码”,另一方面我希望在TDD上缩小一点,最后我希望产品价值。

    我想发表我对使用带有默认设置的样式cop的想法,以防新开发人员阅读了原始文章,并盲目地决定使用它,因为它列在这里,结果发现它比有价值的更麻烦。我认为关键是了解您的需求,并确定某个特性是否有助于实现您的生产价值。

    4 回复  |  直到 15 年前
        1
  •  5
  •   Finglas    15 年前

    Test Driven.NET

    包括个人发展的免费版本。一个很好的简单插件,在内存使用方面并不昂贵,或者你需要花时间去学习如何使用它。

    对于测试驱动的开发,必须在IDE内部运行测试。对于不必为要运行的每个测试切换到外部运行程序,您会惊讶于节省了多少时间。

    我听说一些自动测试会导致提交失败

    退房 build automation - MSBuild 或者说南特。基本上,除非构建过程成功,否则不会将代码提交到存储库中。例如,如果您破坏了一些代码,那么构建过程将失败。如果它通过,您可以安全地提交代码。

    对于.NET用户来说,msbuild(Visual Studio在内部使用)将是一个不错的开始。查看msdn上的官方网站,搜索更多关于为什么构建自动化是一个好主意的文章。

    其他工具

    您的问题询问有关fxcop、stylecop等的使用。您可以将它们作为构建过程的一部分链接进来,而不是从外部运行它们。这将需要一些设置工作,但是使用它们并将它们嵌入到构建过程中所节省的时间是巨大的。附带说明的是,无论何时使用它们,您的代码都将通过使用它们来改进。

    自由转炉

    对个人发展来说,再竖琴是昂贵的。如果你的公司提供它,一定要用它。我可以为个人发展而购买它吗?没有机会。而是退房 CodeRush Express .这是相似的,而且比重读少了对记忆的渴望。我发现它不会经常锁定Visual Studio。另外,它的一些功能还不错。

        2
  •  3
  •   Luhmann    15 年前

    你听上去非常沉迷于插件和工具,当然工具可以帮上大忙,但我会关注你想要学习的实际内容,而不是工具和框架。

    你绝对需要的是:

    • SVN(乌龟很好)
    • 用于运行测试的测试驱动.NET
    • Teamcity或同等公司进行持续整合

    你还不需要各种各样的插件和框架来改进这些基础知识。专注于TDD和“构建的故事”,也许还有发布管理——在学习这一点的同时,您将发现您对工具的需求。

        3
  •  2
  •   Edgar Hernandez    15 年前

    我相信你感兴趣的插件都很好。

    Resharper很好而且功能强大,但是它需要大量的内存。

    正如其他一些人所说,TestDriven.net几乎是必须的。它允许您从vs-ide运行测试。如果你的测试是在努尼特进行的,那就可以了。

    最后,我建议Ncover跟踪你的测试覆盖率。它有一个社区版本,也可以用testdriven.net从IDE执行。

    当然,NANT和/或MSBuild用于自动构建。我会更好地建议南特。

    希望它有帮助

        4
  •  1
  •   Mathias    15 年前

    你可能想调查一下 NDepend 这有助于您分析代码库并保持其整洁。 (否则,我将为testdriven.net和resharper提供第二个建议)。