Использование сторонних библиотек / компонентов в производстве - PullRequest
4 голосов
/ 22 августа 2008

При использовании сторонних библиотек / компонентов в производственных проектах, строго ли вы используете только выпущенные версии указанных библиотек?

Когда вы планируете использовать предварительную или бета-версию библиотеки (в разработке или при определенных обстоятельствах)?

Если вы столкнулись с ошибкой или недостатком библиотеки и уже решили использовать ее, применяете ли вы исправление для библиотеки или создаете обходной путь в своем коде?

Ответы [ 5 ]

2 голосов
/ 30 октября 2008

Я большой поклонник того, чтобы не кодировать что-то, когда у кого-то есть версия, которую я не мог написать за разумное количество времени или потребовал бы, чтобы я стал экспертом в чем-то, что не имеет значения в долгосрочной перспективе.

Существует несколько компонентов и библиотек с открытым исходным кодом, которые я использовал в нашей производственной среде, таких как Quartz.NET, Log4Net, nLog, SharpFTPLibrary (сильно модифицированные) и другие. Quartz.NET был в бета-версии, когда я впервые выпустил приложение, использующее его в производство. Это была очень стабильная бета-версия, и у меня был исходный код, поэтому я мог отладить проблему, и их было несколько. Когда я сталкивался с ошибкой или ошибкой, я исправлял ее и отправлял проблему трекеру или автору ошибки. Я чувствую себя очень комфортно, используя бета-версию продукта, если мне доступен источник для отладки каких-либо проблем, или есть сильные последователи разработчиков, решающие любые проблемы.

1 голос
/ 22 августа 2008

Я использовал бета-библиотеки в коммерческих проектах раньше, но в основном во время разработки и когда поставщик, скорее всего, выпустит окончательную версию до того, как я закончу продукт.

Например, я разработал небольшое настольное приложение с использованием Visual Studio 2005 Beta 2, потому что знал, что RTM-версия будет доступна до окончательного выпуска моего приложения. Также я использовал бета-версию драйвера FirebirdSQL ADO.NET при разработке другого проекта.

Для ошибок я стараюсь публиковать полные отчеты об ошибках всякий раз, когда есть способ их воспроизвести, но большую часть времени вам нужно найти обходной путь для выпуска приложения как можно скорее.

0 голосов
/ 22 августа 2008

Я использую:

  • Инфраструктура (элементы управления .NET WinForms)
  • LeadTools (захват видео)
  • Xtreme ToolkitPro (элементы управления MFC)
  • National Instruments Measurement Studio (вычислительные библиотеки, графики и DAQ)

Я обнаружил значительные ошибки в каждом из них, поэтому я стараюсь максимально ограничить их использование. Infragisitcs довольно хорош для того, что он есть, и National Instruments безусловно лучший, хотя и весьма ограниченный. Я бы избегал LeadTools любой ценой.

0 голосов
/ 22 августа 2008

Нет смысла использовать бета-версию в dev, если вы не уверены, что будете использовать ее в работе. Это просто кажется напрасным упражнением

Хороший вопрос, я также рассматривал сценарий оценки предварительной версии в dev, но я предполагал, что портит dev -> test / qa -> путь prod.

Я буду использовать патч. Зачем писать код для чего-то, за что вы заплатили?

Что если это не коммерческая библиотека, а открытая? Что, если патч, который будет применен, не из высвобождающей сущности (например, вашего собственного патча)?

0 голосов
/ 22 августа 2008
  • Да. Если в бета-версии нам действительно не нужна особенность.
  • Нет смысла использовать бета-версию в dev, если вы не уверены, что будете использовать ее в работе. Это похоже на потраченное впустую упражнение
  • Я буду использовать патч. Зачем писать код для чего-то, за что вы заплатили?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...