在生产项目中使用第 3 方库/组件时,您是否严格要求仅使用所述库的发布版本?

您何时考虑使用库的预发布或测试版本(在开发中?在生产中,在某些情况下)?

如果您遇到该库的错误或缺点并且您已经承诺使用它,您是否会向该库应用补丁或在代码中创建解决方法?

有帮助吗?

解决方案

当其他人有一个我无法在合理时间内编码的版本,或者需要我成为从长远来看并不重要的事情的专家时,我非常喜欢不编码。

我在生产环境中使用了几个开源组件和库,例如 Quartz.NET、Log4Net、nLog、SharpFTPLibrary(经过大量修改)等。当我第一次将使用 Quartz.NET 的应用程序发布到生产环境时,Quartz.NET 还处于测试阶段。这是一个非常稳定的测试版,我有源代码,因此我可以调试问题,而且有一些问题。当我遇到错误或错误时,我会修复它并将问题发布给错误跟踪器或作者。如果我可以使用源代码来调试任何问题,或者有大量开发人员正在解决任何问题,那么我对使用测试版产品感到非常舒服。

其他提示

我以前在商业项目中使用过测试版库,但主要是在开发期间以及供应商可能在我完成产品之前发布最终版本时。

例如,我使用 Visual Studio 2005 Beta 2 开发了一个小型桌面应用程序,因为我知道 RTM 版本将在我的应用程序最终发布之前提供。我还在另一个项目的开发过程中使用了 FirebirdSQL ADO.NET 驱动程序的测试版。

对于错误,只要有办法重现错误,我就会尝试发布完整的错误报告,但大多数时候您必须找到解决方法来尽快发布应用程序。

  • 是的。除非测试版中有我们真正需要的功能。
  • 如果您不确定是否会在生产中使用它,那么在开发中使用测试版是没有意义的。这似乎是一种浪费的练习
  • 我会使用补丁。为什么要为已经付费的东西编写代码?

如果您不确定是否会在生产中使用它,那么在开发中使用测试版是没有意义的。这似乎是一种浪费的练习

好点,我也在考虑在 dev 中评估预发布版本的场景,但我认为这会污染 dev -> test/qa -> prod 路径。

我会使用补丁。为什么要为已经付费的东西编写代码?

如果它不是一个商业库,而是一个开源库怎么办?如果要应用的补丁不是来自发布实体(例如你自己的补丁)?

我用:

  • Infragistics(.NET WinForms 控件)
  • LeadTools(视频捕获)
  • Xtreme ToolkitPro(MFC 控件)
  • National InstrumentsMeasurement Studio(计算库、绘图和 DAQ)

我发现其中每一个都存在重大错误,因此我尝试尽可能限制它们的使用。Infragisitcs 就其本身而言相当不错,而 National Instruments 是迄今为止最好的,尽管相当有限。我会不惜一切代价避免使用 LeadTools。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top