Visual Studio 2008的推荐TDD/Agile/Source Control插件

Sta*_*ent 4 version-control tdd agile plugins visual-studio-2008

我正在寻找一套在开发软件时使用的好插件.目前我正在独立一个项目,在我完成项目的过程中,我同时尝试使用TDD.最近我对agiles进程大肆宣传,并想知道如何进一步集成工具,这将有助于我完成项目和学习TDD的任务.此外,我正在寻求与SVN或其他版本源控制存储库集成.我还希望将版本信息包含到构建中,因为我将公开发布版本里程碑,以获得反馈.我希望最终学会如何创建健壮且可维护的软件,并从我长期留在的牛仔编码世界中跳出来.

我对开始使用太多插件有点太开心了,因为我觉得如果我迷路了,或者没有按照预期使用它们,可能会造成更多弊大于利.我想到的一些是用于维护编码标准的Style Cop/Fx Cop,用于SVN集成的Visual SVN,带有NUnit的Testdriven(以及可能的Moq,但这只是因为我没有查看NUnits模拟库).我还没有试过像resharper这样的工具,但我正在考虑尝试一下,因为我听到了很多关于它的信息.

我只使用C#编写代码,编写一个用于Unity3D的类库,这是一个支持.NET 2.0的免费游戏引擎.但是,测试本身可以是我的安装支持的任何.NET版本.我听说过有关自动化测试会导致你失败​​的事情,我很高兴能尽快让我的脚趾浸入其中,因为我相信这会让我更好地学习TDD.

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

由于我对插件很新,我不介意你是否可以激励为什么以及何时使用它们.我真的很高兴能有一个很好的环境来磨练我的技能.

感谢您花时间阅读本文.我希望你有一些东西可以添加:)

编辑

我现在从使用Style Cop的一些人身上发现它可能不是最适合TDD的插件和具有默认设置的敏捷方法.虽然我认为我生产的代码使用它具有很高的标准,但我觉得许多规则(例如严格的文档)都不够敏捷,因为你必须先付费.在TDD中,测试本身用作文档和规范.思考敏捷,你不应该做你不需要做的事情.

在我的具体情况下,我不需要额外的文档,因为这个库不打算在其他开发人员之间共享.然而,它可能会在未来,然后我们降落在另一个球场.我对覆盖这些规则有点怀疑.我想一方面我想要干净而坚固的代码来练习"良好的编码",另一方面我想在TDD上稍微缩小一点,最后我想要生产价值.

我想发布关于使用Style Cop和默认设置的想法,以防新开发人员阅读原始文章并盲目地决定使用它因为它在此处列出,只是发现它比有价值更麻烦.我认为关键是要了解您的需求并确定某个特征是否有助于您的生产价值.

Fin*_*las 5

Test Driven.NET

包括个人开发的免费版本.一个很好的简单插件,在内存使用方面并不昂贵,或者你需要专注于实际学习如何使用它的时间.

对于测试驱动开发,必须在IDE内部运行测试.对于您想要运行的每个测试,无需切换到外部运行器,您会感到惊讶.

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

查看构建自动化 - MSBuild或NAnt等等.基本上除非构建过程成功,否则不要将代码提交到存储库.例如,如果您破坏了某些代码,则构建过程将失败.如果它通过,您可以安全地提交您的代码.

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

其他工具

您的问题询问FxCop,StyleCop等的使用.您可以在构建过程中将它们链接起来,而不是在外部运行它们.这需要花费一些精力来设置,但是使用它们并将它们嵌入到构建过程中所节省的时间是巨大的.另外,无论何时使用,您的代码都会通过使用它们来改进.

免费的Resharper

Resharper对于个人发展来说是昂贵的.如果贵公司提供,请务必使用它.我可以为个人发展购买它吗?没有机会.请查看CodeRush Express.它与Resharper相似,占用的内存更少.我发现它不会不断锁定Visual Studio.此外,它的一些功能非常好.