我正在从头开始重新构建我们设计糟糕的Web应用程序,并希望进入TDD并基本上“做正确的事”作为一种学习项目。建议从一开始就“正确”地使用哪些工具,流程和资源?我将独自担任架构师和开发人员,为业务分析师和业务所有者提供可用性测试和用例备份。
编辑: 现在我们使用SourceSafe进行源代码控制,技术上是否有任何理由我想让我们切换到颠覆?
编辑#2:编辑#2: 看起来共识是: Cruise Control.NET Subversion(如果我想停止使用SourceSafe) ASP.NET MVC NUnit用于单元测试 ReSharper的答案 0 :(得分:5)
如果您希望在开发过程中将单元测试作为高优先级,我强烈建议您查看MVC for ASP.NET。听起来它对你想做的事情来说是完美的。
我还建议CruiseControl.NET进行持续整合(如果你的团队要成长,这很重要。)
当我在小团队工作时,Subversion是我最喜欢的源代码控制系统。使用Tortoise SVN进行Windows资源管理器集成。答案 1 :(得分:2)
您的源代码管理问题的答案......
从头开始重新设计一个应用程序可能是一个耗时的项目,我不会浪费时间来改变源代码控制,除非你已经确切地知道你将使用哪一个并具有设置它的经验。
Visual SourceSafe完成工作,特别是在一个人的努力下,它已经就位,所以用它来运行。
答案 2 :(得分:1)
我们正在使用Visual Studio 2008,Resharper 4.1,Subversion for sourcecontrol,Cruise控件进行自动构建以及构建单元测试以进行所有自动化测试。和Linq2Sql进行或映射。除了VS(显然)和resharper(它太酷了)你可以换掉任何东西,但是你可以轻松地使用另一个源控件,或映射器或单元测试工具。
答案 3 :(得分:1)
以下是一些可以让工作更轻松,更安全的工具(谷歌搜索名称会显示相关页面):
颠覆 - 源控制
NUnit - 测试框架
CruiseControl.Net - 自动构建
答案 4 :(得分:1)
Visual Source safe具有严格的锁定策略,因此一次只能有一个人处理文件.... CVS或subversion允许多个用户同时处理同一个文件。
答案 5 :(得分:1)
这里的所有建议都很好,但没有灵丹妙药。您必须查看应用程序的大小,用户数量,部署方式等,以制定架构,流程,工具集和其他决策。例如,TDD是一种很好的方法,但不是“做正确的事”的唯一好方法。另一个,CruiseControl很棒,但在一个开发人员项目中,它可能有点过分。
无论你做什么都是我最好的建议 - 如果你选择TDD,如果你知道我的意思,请跟TDD一起去。
答案 6 :(得分:1)
我们重新编写了我们的网站,就像你正在做的那样,我们正在使用C#和MVC。这很棒。我们使用Microsoft的SourceSafe来控制我们的代码,它的工作非常棒。由于您是唯一的开发人员,因此您将依赖于您喜欢的内容。
微软的sourcesafe允许我们创建一个我们可以解决的分支可以保持源代码控制,我们可以轻松地在两者之间切换。 (我真的没有太多使用颠覆,所以我不能对它发表评论。)
我们使用NUnit来测试/模拟我们的代码。嘲笑它们非常容易。我们创建了一个保存和读取对象的类。
保存功能: Stream stream = File.Open(simplePath,FileMode.OpenOrCreate); BinaryFormatter bwriter = new BinaryFormatter(); bwriter.Serialize(stream,actual);
读取功能: Stream stream = File.Open(simplePath,FileMode.Open,FileAccess.Read,FileShare.Read); BinaryFormatter bwriter = new BinaryFormatter(); object returnObject = bwriter.Deserialize(stream);
我们使用NUnit来模拟xml和SQL。
祝你好运答案 7 :(得分:1)
如果您要设置一个新的颠覆和持续集成实例,从VSS背景开始绿色,这两个免费软件包可能会节省您几天(或几周)的时间:
Visual SVN Server 设置subversion服务器所需的一切,包括Windows AD身份验证和管理GUI。免费,您可以考虑支持他们出色的VisualSVN VS插件,以便在Visual Studio中进行源代码控制集成。或者,可以查看AnkhSVN
TeamCity JetBrains(ReSharper的制造商,一种非常棒的工具,如上所述)的持续集成包(CruiseControl.NET的替代品),专业版免费提供(最多20个用户和3个构建服务器)。
这两个软件包是一些最容易安装的软件包,对VSS本身提出了挑战: - )
使用SVN可能需要一点调整;但是对于你选择的任何一个客户(AnkSVN,VisualSVN,TortoiseSVN或某种组合)都有优秀的doco,你会没事的。
此外,您知道在哪里可以找到人们,他们渴望回答您可能有的任何问题,以换取代表; - )
答案 8 :(得分:1)
结帐TypeMock或Rhino Mocks。当您对Web应用程序进行单元测试时,模拟可以为您节省大量时间和精力。
答案 9 :(得分:0)
如果你刚刚开始,那么我会尽可能少地改变(特别是因为你是唯一的开发者),所以坚持使用Sourcesafe。在你的情况下,它绝对没有错。
稍后,您可能会看到MS Team System,或者可能会使用其他第三方工具。
就个人而言,我不是Subversion的粉丝,但我认识到它是整个行业的热门工具。
至于TDD专用软件,我不能提供任何建议。您是否拥有UML的首选工具或您正在使用的任何正式方法?
答案 10 :(得分:0)
值得一提的是:在做任何更改之前,要100%确定您了解程序正在做什么以及它应该做什么。在理解了整个情况之后,一个“糟糕”的软件通常会变得“不那么糟糕”。
Sourcesafe可以,特别是对于一个人来说,但是当团队中会有越来越多的人,锁定模型会变得烦人,但是在生存的时候:坚持下去