代码之家  ›  专栏  ›  技术社区  ›  Craig Schwarze

如何提高.NET的生产效率?

  •  3
  • Craig Schwarze  · 技术社区  · 14 年前

    我领导一个由六名开发人员组成的团队,在过去的一年中,我们已经迁移到Silverlight/WCF/C#/EF/sqlserver体系结构来进行开发。我们现在已经部署了5到6个使用这种架构的小应用程序,我们目前正在开发一个更大的系统。

    我们致力于.NET和Silverlight,但当我读到“rubyonrails”带来10倍生产力增长的说法时,我很紧张。对于.NET,是否有一个大致等效的工具/体系结构/模式?一些高级的东西,使您能够快速部署企业功能?

    5 回复  |  直到 7 年前
        1
  •  6
  •   tvanfosson    14 年前

    ASP.NETMVC与一些ORM的结合类似于.NET世界中的Ruby/Rails。我一直在做敏捷开发ASP.NETMVC和linqtosql在过去的几年中取得了很好的效果。我将我最大的生产力提升主要归因于转换到测试驱动的开发范式,并在小型、频繁发布的迭代中大量投资于基于故事的开发。最大的收获不一定在于更快地开发软件,而在于第一次开发出正确的软件,从而减少返工,提高所开发的功能与所使用的功能的比率。此外,用单元测试包围代码允许我继续以大致相同的速度进行开发,而传统方法中未经测试或测试不足的代码会随着复杂性的增加而导致生产力的急剧损失。ASP.NETMVC比标准web表单更适合这种开发风格。您可以使用WCF代码实现许多相同级别的可测试性。

        2
  •  1
  •   user243966 user243966    14 年前

    就我个人而言,我不知道.NET有这样的工具。但我想提供一些思考的食物。

    我建议将重点放在总体架构上,并确定系统的“组件化”程度。例如,你有没有利用 design patterns

    虽然这样的体系结构看起来很理想,但随着时间的推移,您应该能够构建一个可重用组件库。然后,构建未来的系统只不过是通过一些最小的定制工作来组装必要的构建块(如果你愿意的话,想想乐高积木)。

    当然,偶尔(尤其是刚开始的时候),您必须编写和/或重构现有组件来创建构建块库,但希望从长远来看您能获得好处。

    也许也可以检查一下你的方法论——你的解决方案框架基本上是你的开发方法论吗?或者它是严格地专注于建筑和设计?如果你改变了架构和设计的方法,你的方法也应该改变,反之亦然。

    希望这有帮助。

        3
  •  1
  •   Muffun    14 年前

    源代码管理(如SVN和Mercurial)

    按应用程序分开的Bug跟踪器

    1人负责清洗resquest配方的噪音(例如:3个部门有哪些3个新特性。它们对每个部门都是关键的,但有些可以等到下一个版本)

    这些是帮助我所属的团队保持正轨的“工具”。

        4
  •  1
  •   Shai UI    14 年前
    1. 与.NET相比,RubyonRails并不是那么热门,他们唯一的优势是他们比.NET更早开始使用ORM(活动记录)。。但我看到你用的是EF,所以你的水平相当。

    2. 必须

    3. 使用bug跟踪系统,比如JIRA。我想一个10人的团队要20美元。您也可以使用bugzilla,因为它是一个便宜的开源软件。

    4. 使用敏捷开发技术,比如每天15分钟的scrum,找出每个人在做什么,让每个人都站在同一条船上。生产力主要是一种管理/激励的东西,你不希望你的开发人员偷懒。此外,JIRA还有一个很好的小敏捷组件(它被称为“greenhopper”),比如燃尽图等。

    5. 目前WPF/Silverlight最大的设计模式称为MVVM。还有一些框架,如PRISM、mvvmlight和MEF,可以提供架构级模式。尽管从长远来看,这些框架的使用有一个陡峭的学习曲线,但它们可以帮助您解决问题。

        5
  •  1
  •   eglasius    14 年前

    另外,我不得不说,要得到一个真正好的答案,请看tvanfosson的答案。