在生产中使用第三方库/组件

时间:2008-08-22 15:44:29

标签: dependency-management

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

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

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

5 个答案:

答案 0 :(得分:2)

如果其他人有一个我无法在合理的时间内编写代码的版本,或者要求我成为长期无关紧要的专家,我就是不喜欢编码的忠实粉丝。

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

答案 1 :(得分:1)

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

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

对于错误,我尝试在有重现错误的情况下发布完整的错误报告,但大多数时候你必须找到一种解决方法来尽快发布应用程序。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

  

如果你不确定你是否会在生产中使用它,那么在dev中使用beta版是没有意义的。这似乎是一种浪费的运动

好的一点,我还在考虑在开发版中评估预发布版本的情况,但我认为这会污点开发 - > test / qa - >刺激道路。

  

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

如果它不是商业图书馆,而是开源图书馆怎么办?如果要应用的补丁不是来自释放实体(例如您自己的补丁),该怎么办?

答案 4 :(得分:0)

我用:

  • Infragistics(.NET WinForms控件)
  • LeadTools(视频捕捉)
  • Xtreme ToolkitPro(MFC控件)
  • National Instruments Measurement Studio(计算库,绘图和DAQ)

我发现每一个都有重大错误,所以我尽量限制它们的使用。 Infragisitcs的功能非常好,而National Instruments是迄今为止最好的,尽管非常有限。我会不惜一切代价避免使用LeadTools。