在生产项目中使用 3rd 方库/组件时,您是否严格使用所述库的已发布版本?
您何时考虑使用库的预发布或测试版本(在开发中?在生产中,在某些情况下)?
如果您遇到库的错误或缺点并且您已经承诺使用它,您是否将补丁应用到库或在您的代码中创建解决方法?
在生产项目中使用 3rd 方库/组件时,您是否严格使用所述库的已发布版本?
您何时考虑使用库的预发布或测试版本(在开发中?在生产中,在某些情况下)?
如果您遇到库的错误或缺点并且您已经承诺使用它,您是否将补丁应用到库或在您的代码中创建解决方法?
当别人有一个我无法在合理的时间内编码的版本或要求我成为从长远来看无关紧要的事情的专家时,我非常喜欢不编码。
我在生产环境中使用了几个开源组件和库,例如 Quartz.NET、Log4Net、nLog、SharpFTPLibrary(经过大量修改)等等。Quartz.NET 在我第一次发布一个使用它的应用程序投入生产时处于测试阶段。这是一个非常稳定的测试版,我有源代码,所以我可以调试一个问题,而且有一些。当我遇到错误或错误时,我会修复它并将问题发布给错误跟踪器或作者。如果可以使用源代码来调试任何问题,或者有大量开发人员在解决任何问题,我会觉得使用 beta 产品很舒服。
我以前在商业项目中使用过 beta 库,但主要是在开发过程中以及供应商可能在我完成产品之前发布最终版本的时候。
例如,我使用 Visual Studio 2005 Beta 2 开发了一个小型桌面应用程序,因为我知道 RTM 版本将在我的应用程序最终发布之前可用。在另一个项目的开发过程中,我还使用了一个测试版的 FirebirdSQL ADO.NET 驱动程序。
对于错误,只要有办法重现错误,我就会尝试发布完整的错误报告,但大多数时候您必须找到解决方法来尽快发布应用程序。
如果您不确定是否会在生产中使用它,那么在 dev 中使用 beta 版本是没有意义的。这似乎是一种浪费的运动
好点,我也在考虑在 dev 中评估预发布版本的场景,但我认为这会污染 dev -> test/qa -> prod 路径。
我会用补丁。为什么要为您付费的东西编写代码?
如果它不是一个商业图书馆,而是一个开源图书馆怎么办?如果要应用的补丁不是来自发布实体(例如您自己的补丁)怎么办?
我用:
我在每一个中都发现了重大错误,因此我尝试尽可能限制它们的使用。Infragisitcs 就其本身而言非常好,而 National Instruments 是迄今为止最好的,尽管非常有限。我会不惜一切代价避免使用 LeadTools。