首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET开发团队应该如何设计和交付绿地项目?

.NET开发团队应该如何设计和交付绿地项目?
EN

Software Engineering用户
提问于 2011-09-23 11:39:41
回答 1查看 543关注 0票数 3

在软件世界atm中最热门的一些话题是:

  • 领域驱动设计
  • 固体原理
  • 敏捷方法
  • 奥姆

现在假设你没有在你的团队中使用所有这些,如果你去问你的团队(单独的,而不是作为一个团队)他们对他们没有申请的主题知道些什么--他们对其他主题了解多少--他们可能“听说过/在某个地方读过一次”。问题是,技术的变化越来越快,以至于很多人(普通的乔程序员)跟不上最新的想法。

现在,虽然那些在学术上有天赋的人每年都可以阅读关于上述主题的20+书籍,并将其整合成某种顺序,以便将其应用于一个新的软件项目,但我们大多数人不会倾向于做所有这些研究。就我个人而言,我整天坐在办公桌前编程,所以我最不想做的就是回家做同样的事情。我想去运动,看朋友,花时间和朋友在一起,并且一般都有自己的生活。

因此,考虑到一个漂亮的新绿地项目,我们中的许多人(如果我们诚实的话,大多数人)仍然很困惑如何用最新的、最伟大的想法来处理一个新项目,这是我们的学术倾向较强的桥墩最普遍接受的。

所以我的问题是--我想知道现在或将来是否有一本书,它把最新的想法结合在一起,让普通人更容易理解和应用?(最好使用.net和当前最流行的相关技术)

根据我在市场上的经验,对于大多数真正的开发人员来说,这样的情况是相关的:

  1. 基于某种互联网网站的例子,所以所有的层次都可以被涉及到。
  2. 解释如何识别和映射真实的业务对象,这将在遵循坚实原则的同时,以领域驱动设计作为最新的普遍接受的思想来完成。
  3. 使用最新的ORM技术解释(2)如何从模型到数据库模式(这可能是最大的部分)。
  4. 使用MVC (或其他任何技术)作为示例的平台。
  5. 非常简单地解释TDD,然后向您展示如何插入单元测试,可能是visual测试/nunit或最新技术。
  6. 何时使用IoC。
  7. 向您展示如何使用当前选择的工具(Fitnesse或其他任何工具)编写几个非常简单的集成测试。
  8. 向您展示(不超过一章)如何设置用于持续集成的TFS。

然后,这本书每年都会被修订,以反映最新和最商定的概念,因此软件团队总是知道处理一个新项目的最佳方法,而不必费力地通过今年的新书大山,自己尝试找出今年最热门主题的共同主题。重要的是,修订不反映作者自己的意见,而是反映他的大多数码头的一般意见,因此它为.net开发项目建立了一个被接受的、统一的方法。

这本书的真正关键是它将是一本“如何”的书,而不是“为什么你应该”的书。对于那些想成为更好的程序员或者仅仅需要了解更多知识的人来说,它可以(而且可能应该)引用“为什么”的书籍,但考虑到这本书的目标,它没有足够的空间来解释它。

也许这本书可以更准确地称为“如何正确和实际地将最新的.NET软件开发设计和技术应用于今年的现实世界项目(对白痴而言)”,但我想书名需要工作;-)

那么,要融入这些网站的“问问题”指令--是否有任何一本书与此有着模糊的相似之处?(虽然我怀疑它是否会定期修订)。

好吧,我去读另一本干巴巴的理论书,在我休假的一周里试着跟上:(真遗憾,当我开始使用它的时候,我可能已经忘记了所有的内容,而且据我所知,它可能已经过时了……

哦,顺便说一句,和问题相比,哪里是最好的开始讨论的地方呢?阅读FAQ只是提出了实时聊天,我看了一眼,但tbh,它是相当死,似乎主要是一条线,不适合长篇大论(另一个网站将很好)。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2011-09-23 11:51:14

您想知道是否有一个用于新软件项目的技术和过程的cookie切割模板?好吧,没有。

确定适当的过程取决于组织、团队、日程安排、预算编制、熟悉领域等等。支持该过程的技术和工具取决于您所遵循的流程。同样,最好的语言、库和框架取决于交付可接受的项目所需满足的需求。

您不会找到一本书(或任何其他资源)来解释如何运行每个项目,如何选择哪些技术,以及如何使所有内容都适合您的项目。但是,您可以找到一些好的资源来帮助您了解各种技术和技术,并从中学习如何最好地将它们应用到您的问题上。

您应该问的问题需要集中在特定的项目、过程和技术上。这些并不能真正地概括到每个组织的每个项目中,每个团队都会执行。这就是为什么我们有项目经理和具有知识、教育和经验的领导来评估情况,并在特定的背景下做出适当的决定。

针对您所做的几项具体声明:

问题是,技术的变化越来越快,以至于很多人(普通的乔程序员)跟不上最新的想法。

软件工程师的工作就是掌握自己领域或领域的最新信息。一个人不可能对软件开发的所有方面都了如指掌,但我希望一个联网的应用程序/分布式系统程序员能够对联网和构建分布式系统的最新技术和协议保持最新的了解,就像我希望软件项目经理能够掌握如何领导和管理软件项目的最新技术一样。除了保持最新的水平,我希望这些人能够运用个人的思想来思考他们所学到的东西如何应用到他们的组织、团队和项目中。

然后,这本书每年都会被修订,以反映最新和最商定的概念,因此软件团队总是知道处理一个新项目的最佳方法,而不必费力地通过今年的新书大山,自己尝试找出今年最热门主题的共同主题。

你不会发现有多少书是按这个速度修改的。很多工作都在不断地进行,从一个人头脑中的想法到一个实现需要很长时间才能实现,这是一本值得在书中解释的增值。这可以追溯到我的第一点--作为一名专业人士,不能指望你会被调羹。这取决于你知道你的领域和领域,并保持最新或被抛在后面(也许是失业)。

这本书的真正关键是它将是一本“如何”的书,而不是“为什么你应该”的书。

对于具有如此多可变性的大型软件项目,没有解决“如何”的方法。这就是为什么大多数书籍都涉及到一种特定的技术或一套技术,当它们适用的时候,当它们不适用的时候,为什么你应该考虑使用它们。您将得到一些用于实现的通用最佳实践,但是由于项目和需求之间的差异,没有太多的硬规则,而是需要在其中工作的一般指导方针。

票数 6
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/110223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档