Pergunta

Ao usar bibliotecas/componentes de terceiros em projetos de produção, você é rigoroso ao usar apenas versões lançadas dessas bibliotecas?

Quando você considera usar uma versão de pré-lançamento ou beta de uma biblioteca (em dev?na produção, sob certas circunstâncias)?

Se você encontrar um bug ou falha na biblioteca e já estiver comprometido em usá-la, você aplica um patch à biblioteca ou cria uma solução alternativa em seu código?

Foi útil?

Solução

Sou um grande fã de não codificar algo quando alguém tem uma versão que eu não poderia codificar em um período de tempo razoável ou que exigiria que eu me tornasse um especialista em algo que não teria importância no longo prazo.

Existem vários componentes e bibliotecas de código aberto que usei em nosso ambiente de produção, como Quartz.NET, Log4Net, nLog, SharpFTPLibrary (fortemente modificado) e muito mais.Quartz.NET estava em beta quando lancei pela primeira vez um aplicativo que o utilizava em produção.Era uma versão beta muito estável e eu tinha o código-fonte para poder depurar um problema e havia alguns.Quando eu encontrava um bug ou erro, eu o corrigia e postava o problema para o rastreador de bugs ou autor.Sinto-me muito confortável em usar um produto beta se a fonte estiver disponível para eu depurar quaisquer problemas ou se houver um grande número de desenvolvedores resolvendo quaisquer problemas.

Outras dicas

Já usei bibliotecas beta em projetos comerciais antes, mas principalmente durante o desenvolvimento e quando o fornecedor provavelmente lançará uma versão final antes de eu terminar o produto.

Por exemplo, desenvolvi um pequeno aplicativo de desktop usando o Visual Studio 2005 Beta 2 porque sabia que a versão RTM estaria disponível antes do lançamento final do meu aplicativo.Também utilizei uma versão beta do driver FirebirdSQL ADO.NET durante o desenvolvimento de outro projeto.

Para bugs, tento postar relatórios completos de bugs sempre que há uma maneira de reproduzi-los, mas na maioria das vezes você precisa encontrar uma solução alternativa para lançar o aplicativo o mais rápido possível.

  • Sim.A menos que haja um recurso que realmente precisamos em uma versão beta.
  • Não faz sentido usar uma versão beta no desenvolvimento se você não tiver certeza de que a usará na produção.Isso parece um exercício desperdiçado
  • Vou usar o patch.Por que escrever código para algo pelo qual você pagou?

Não faz sentido usar uma versão beta no desenvolvimento se você não tiver certeza de que a usará na produção.Isso parece um exercício desperdiçado

Bom ponto, eu também estava considerando o cenário de avaliação da versão de pré-lançamento no dev, mas suponho que isso prejudica o caminho dev -> test/qa -> prod.

Vou usar o patch.Por que escrever código para algo pelo qual você pagou?

E se não for uma biblioteca comercial, mas sim de código aberto?E se o patch a ser aplicado não for da entidade emissora (por exemplo,seu próprio patch)?

Eu uso:

  • Infragística (controles .NET WinForms)
  • LeadTools (captura de vídeo)
  • Xtreme ToolkitPro (controles MFC)
  • National Instruments Measurement Studio (bibliotecas computacionais, plotagem e DAQ)

Encontrei bugs significativos em cada um deles, então tento limitar seu uso tanto quanto possível.A Infragisitcs é muito boa para o que é, e a National Instruments é de longe a melhor, embora bastante limitada.Eu evitaria LeadTools a todo custo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top