5

我正在从头开始重新构建我们设计不佳的 Web 应用程序,并希望进入 TDD 并基本上将“做正确的事情”作为一种学习项目。建议使用哪些工具、流程和资源从一开始就“正确”地进行操作?我将作为架构师和开发人员单独工作,并在业务分析师和业务所有者的支持下进行可用性测试和用例。

编辑:现在我们使用 SourceSafe 进行源代码控制,在技术上是否有任何理由让我试图让我们切换到颠覆?

编辑#2:看起来共识是:Cruise Control.NET Subversion(如果我想停止使用 SourceSafe) ASP.NET MVC NUnit 进行单元测试 Resharper

4

11 回答 11

5

如果您想在开发过程中将单元测试作为高优先级,我强烈建议您查看MVC for ASP.NET 。听起来它非常适合您尝试做的事情。

我还推荐CruiseControl.NET用于持续集成(如果您的团队要发展,这很重要)。

当我在小团队工作时,Subversion 是我最喜欢的源代码控制系统。使用Tortoise SVN进行 Windows 资源管理器集成。

于 2008-09-17T19:04:42.850 回答
2

对您的源代码控制问题的答案...

从头开始重新设计应用程序可能是一个耗时的项目,除非您已经确切知道将使用哪个并且有设置它的经验,否则我不会浪费时间更改源代码控制。

Visual SourceSafe 完成了这项工作,尤其是在 1 人的努力下,并且它已经到位,因此可以使用它运行。

于 2008-09-17T21:57:28.537 回答
1

If you're about to set up a fresh instance of subversion and continuous integration, starting green from a VSS background, these two free packages will likely save you days (or weeks) of time:

  • Visual SVN Server Sets up everything needed for a subversion server, including Windows AD auth and an admin GUI. Free, you may consider supporting their excellent VisualSVN VS addin for source control integration in Visual Studio. Alternatively, can look at AnkhSVN

  • TeamCity A Continuous Integration package (alternative to CruiseControl.NET) from JetBrains (makers of ReSharper, a fantastic tool, as mentioned) which is free for the professional version (up to 20 users and 3 build servers).

These two packages are some of the easiest installs around, challenging VSS itself :-)

Using SVN may take a little adjustment; but with the excellent doco for whichever client you pick (AnkSVN, VisualSVN, TortoiseSVN, or some combination), you'll be fine.

Besides, you know where to find people eager to answer any questions you might have in exchange for Rep ;-)

于 2008-09-22T19:28:40.900 回答
1

查看TypeMockRhino Mocks 。当您对 Web 应用程序进行单元测试时,Mocking 可以为您节省大量时间和痛苦。

于 2008-09-22T19:39:57.893 回答
1

我们像您一样重写了我们的网站,并且我们使用 C# 和 MVC。这很棒。我们使用 Microsoft 的 SourceSafe 来控制我们的代码,它工作得很好。由于您是唯一的开发人员,这将取决于您喜欢什么。

Microsoft 的 sourcesafe 允许我们创建一个可以工作的分支,可以保持在源代码控制下,并且我们可以轻松地在两者之间切换。(我真的没有太多使用颠覆,所以我不能评论它。)

我们使用 NUnit 来测试/模拟我们的代码。模仿它们非常容易。我们创建了一个类来保存和读取对象。

保存函数:Stream stream = File.Open(simplePath, FileMode.OpenOrCreate); BinaryFormatter bwriter = new BinaryFormatter(); bwriter.Serialize(流,实际);

读取函数:Stream stream = File.Open(simplePath, FileMode.Open, FileAccess.Read, FileShare.Read); BinaryFormatter bwriter = new BinaryFormatter(); 对象 returnObject = bwriter.Deserialize(stream);

我们使用 NUnit 来模拟 xml 和 SQL。

祝你好运

于 2008-09-18T14:22:30.697 回答
1

我们使用 Visual Studio 2008、Resharper 4.1、用于源代码控制的 Subversion、用于自动构建的 Cruise 控制以及用于我们所有自动化测试的内置单元测试的设置。和 Linq2Sql 用于或映射。除了 VS(显然)和 resharper(太酷了)之外,您可以换掉任何东西,但您可以轻松地使用另一个源控制、映射器或单元测试工具。

于 2008-09-17T19:05:43.673 回答
1

这里有一些工具可以让工作变得更容易、更安全(谷歌搜索名称将显示相关页面):

Subversion - 源代码控制
NUnit - 测试框架
CruiseControl.Net - 自动构建

于 2008-09-17T19:06:47.167 回答
1

Visual Source safe 具有严格的锁定策略,因此一次只能一个人处理一个文件....CVS 或 subversion 允许多个用户同时处理同一个文件。

于 2008-09-17T19:17:51.460 回答
1

这里的所有建议都很好,但没有灵丹妙药。您必须查看您的应用程序有多大、有多少用户、如何部署等,以做出您的架构、流程、工具集和其他决策。例如,TDD 是一种很好的方法,但不是“正确地做事”的唯一好方法。另一个,CruiseControl 很棒,但在单个开发人员项目中,它可能有点矫枉过正。

无论你做什么都要保持一致是我最好的建议——如果你使用 TDD,如果你明白我的意思,就使用 TDD。

于 2008-09-17T19:21:54.790 回答
0

如果您刚刚开始,那么我会尽可能少地进行更改(特别是因为您是唯一的开发人员),所以坚持使用 Sourcesafe。在你的情况下绝对没有问题。

稍后,您可能会关注 MS Team System,或者可能会选择其他 3rd Party 工具。

就个人而言,我不是 Subversion 的粉丝,但我认识到它是整个行业的流行工具。

至于特定于 TDD 的软件,我无法提供任何建议。您是否有首选的 UML 工具或您正在使用的任何正式方法?

于 2008-09-18T10:18:55.743 回答
0

有一件事要提:在进行任何更改之前,要 100% 确定您了解程序在做什么以及它应该做什么。在了解整个情况之后,一个“糟糕”的软件往往会变得“没那么糟糕”。

Sourcesafe 可以,尤其是对于一个人来说,但是当团队中的 ppl 越来越多时,锁模型会变得很烦人,但是暂时:坚持下去

于 2008-09-18T10:22:26.250 回答