从头开始一个新的ASP.NET Web应用程序的最佳过程是什么?

时间:2020-03-05 18:59:41  来源:igfitidea点击:

我正在从头开始重新构建设计欠佳的Web应用程序,并希望进入TDD并基本上将"做正确的事"作为一个学习项目。从一开始就建议使用什么工具,流程和资源来"正确"地进行操作?我将作为架构师和开发人员独自工作,并为业务可用性测试和用例提供业务分析师和业务所有者的备份。

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

编辑2:
看起来共识是:
巡航控制网
Subversion(如果我想停止使用SourceSafe)
ASP.NET MVC
NUnit用于单元测试
收割者

解决方案

回答

如果要在开发过程中将单元测试作为高优先级,我强烈建议我们看一下ASP.NET的MVC。听起来这很适合我们想要做的事情。

我还建议我们使用CruiseControl.NET进行持续集成(如果团队要发展,这一点很重要)。

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

回答

我们正在使用Visual Studio 2008,Resharper 4.1,用于源代码管理的Subversion,用于自动构建的Cruise Control以及用于所有自动化测试的内置单元测试的安装程序。和Linq2Sql进行映射。我们可以交换除VS(显然)和重新共享(很酷)之外的任何内容,但是可以轻松使用其他sourcecontrol,mapper或者单元测试工具。

回答

以下是一些可以使其更轻松,更安全地工作的工具(搜索名称将显示相关页面):

颠覆源代码控制
NUnit测试框架

回答

CruiseControl.Net自动构建

回答

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

这里的所有建议都是好的,但是没有神奇的子弹。我们必须查看应用程序的大小,多少用户,如何部署等,才能制定架构,流程,工具集和其他决策。例如,TDD是一种好的方法论,但不是"正确地做事"的唯一好的方法论。另一个,CruiseControl很棒,但是在一个开发人员项目中,它可能会过大。

回答

如果我们选择使用TDD,请保持一致,这是我最好的建议,如果我们了解我的意思,请坚持使用TDD。

源代码管理问题的答案...

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

回答

Visual SourceSafe可以完成工作,尤其是需要1个人的努力,并且已经就位,因此可以运行它。

如果我们只是入门,那么我将尽可能少地更改(尤其是因为我们是唯一的开发人员),所以请坚持使用Sourcesafe。情况绝对没有错。

稍后,我们可能会关注MS Team System,或者可能会寻求其他3rd Party工具。

我个人不喜欢Subversion,但我知道它是整个行业中流行的工具。

回答

对于TDD专用软件,我无法提供任何建议。我们是否拥有用于UML的首选工具或者正在使用的任何正式方法?

要提及的一件事:在进行任何更改之前,请100%确保我们了解该程序的工作以及它应该做什么。在了解了整个情况之后,一个"糟糕"的软件通常会被证明不是"那么糟糕"。

回答

Sourcesafe可能还可以,特别是对于一个人来说,但是当团队中有越来越多的人时,锁定模型可能会很烦人,但暂时是:坚持下去

我们像我们所做的那样重新编写了我们的网站,并且正在使用Cwith MVC。这很棒。我们使用Microsoft的SourceSafe来控制我们的代码,它的功能很棒。由于我们是唯一的开发人员,因此将取决于喜好。

Microsoft的sourcesafe允许我们创建一个分支,我们可以对其进行处理,使其处于源代码控制之下,并且我们可以在两者之间轻松切换。 (我确实没有太多使用subversion,所以我无法对此发表评论。)

我们使用NUnit来测试/模拟我们的代码。嘲笑他们超级容易。我们创建了一个将保存和读取对象的类。

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

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

我们已经使用NUnit模拟出xml和SQL。

回答

祝你好运

  • Visual SVN服务器设置Subversion服务器所需的所有内容,包括Windows AD身份验证和管理GUI。免费,我们可以考虑为Visual Studio中的源代码控制集成支持其出色的VisualSVN VS插件。或者,可以看一下AnkhSVN
  • TeamCity JetBrains(如前所述,ReSharper的制造商,一种出色的工具)提供的持续集成软件包(替代CruiseControl.NET),对于专业版本(最多20个用户和3个构建服务器)免费。

如果我们要建立一个新的颠覆和持续集成实例,从VSS后台开始绿色,那么这两个免费软件包可能会节省我们几天(或者几周)的时间:

这两个软件包是一些最容易安装的软件包,对VSS本身构成挑战:-)

使用SVN可能需要一点调整。但是无论我们选择哪种客户端(AnkSVN,VisualSVN,TortoiseSVN或者某种组合),都可以使用出色的doco,这会很好的。

回答

此外,我们知道在哪里可以找到渴望回答我们可能有疑问的人,以换取Rep ;-)

段落数量不匹配