有时我们不得不在 2 或 3 种技术/策略之间进行选择来开发模块。
现在,对于每个小型或大型组件/模块/项目,我们都有几乎无数的选择。对于那些有多年经验的人来说可能很容易,但对于那些刚接触编程的人来说,比如不到一年的时间就不容易了。
我有时会对 .NET 世界中的数据访问选择感到沮丧。我们不能去阅读市场上的每一种工具,以及它为每一种产品提供的东西。
提出这个问题的原因是最近我们必须处理一个项目,并且 DataAccessLayer 的规范是使用 ADO.NET 完成的。进入项目大约 20% 的过程中,一位新开发人员加入了我们的部门(但不是我们的团队)。我认为他很聪明,乐于助人,我们喜欢和他一起工作。
在代码审查期间,他亲自建议我们最好将 LINQ to SQL 用于我们正在处理的模块。他很有说服力。经过积极的辩论,我们同意使用 LINQ to SQL。
然而,“管理层”对此并不满意。有人争论说我们应该在开始模块之前想出这个“绝妙的主意” 。他们的论点是,到目前为止,20% 的工作已经花费了资源,而这些工作将被浪费掉。
鉴于新产品/技术/策略频繁出现的步伐,我们发现很难获得有关所有这些工具和技术的所有信息。
我们已经成功使用 ADO.NET。我们对 LINQ(一般)、NHibrnate 和许多其他方面有一个想法,但我们继续使用 ADO.NET。我不反对学习新事物,这就是我们共同推动使用 LINQ 的原因。
问题 在我们做这个选择的时候,我们有错吗?
是否有任何指标或指导方针可以决定在某些情况下选择哪种技术,以及何时不中途切换?