Vejo que alguns softwares têm o número da versão incluído como parte do nome do arquivo, enquanto outros não. Estou mais acostumado com o último tipo e acho que é mais popular, mas às vezes vejo o tipo anterior nas bibliotecas javascript. Por exemplo, o nome do arquivo do jQuery é como em jquery-2.1.0.js
vez de jquery.js
. Sempre que atualizo esses tipos de arquivos, tenho que procurar os locais em outros programas que carregam esses arquivos, alterar o nome do arquivo a que eles se referem e excluir manualmente a versão mais antiga dessas bibliotecas. Isso é inconveniente para mim, portanto, prefiro renomear o arquivo para excluir o número da versão e manter o nome do arquivo mencionado para não incluir o número da versão.
Suspeito que esses números sejam para algum tipo de controle de versão, mas não estou claro quando e como eles são usados.
- Quais são os prós e os contras de incluir números de versão no nome do arquivo?
- Existe um consenso de fato sobre quais áreas do software ou idiomas usam o número da versão no nome do arquivo e quais áreas / idiomas não? Se sim, existe alguma razão para isso?
Respostas:
Faz sentido especificar a versão necessária. O comportamento em que você pode confiar pode ter mudado; portanto, o mais novo nem sempre é melhor. Primeiro, teste se uma nova versão de uma biblioteca funciona para você. Em seguida, atualize explicitamente.
No caso de recursos da web, ter a versão como parte do nome do arquivo é importante no contexto do armazenamento em cache . Para recursos estáticos,
jquery.js
você precisará de um tempo de cache muito longo antes de ser buscado novamente. No entanto, durante uma atualização, você deseja que seu código use a nova versão imediatamente , em vez de fazer com que os clientes alternem para a nova versão durante o dia seguinte. Comofoo-1.2.3.js
é um recurso diferentefoo-1.2.4.js
, nenhum cache ficará no caminho.fonte
(Excluindo a situação de cache da web mencionada por @amon): Presumo que você faça uma cópia local de uma biblioteca de terceiros para uso do seu programa, caso contrário, a necessidade de um número de versão seria óbvia. O cenário de uso dessa biblioteca de terceiros no sistema de software que você está desenvolvendo pode ser um destes dois:
todas as partes do seu programa que estão usando a lib sempre compartilharão a mesma versão da lib (idealmente "a mais nova"), e você atualizará a lib de tempos em tempos. Em seguida, manter o número da versão como parte do nome do arquivo pode ser realmente entediante, e eu recomendaria retirar o número da sua cópia local do arquivo, se possível. Observe que essa é apenas uma boa idéia se você tiver certeza de que o fornecedor terceirizado mantém a lib principalmente compatível com versões anteriores às versões anteriores.
você espera ter algumas partes do seu programa que precisam da versão A e outras que precisam da versão B. Então, obviamente, você precisará de um número de versão para a lib de terceiros. Observe que essa situação também pode ocorrer quando você não pode testar facilmente todas as partes do software usando a lib de uma só vez após a introdução de uma nova versão.
E se você é um fornecedor de bibliotecas, inclua o número da versão por padrão, mas deixe o usuário dessa lib decidir por si mesmo se ele mantém esse número ou retira-o.
fonte
jquery
, para o qual o argumento de cache da Web da amon é válido. O raciocínio por trás da minha resposta foi explicar situações diferentes em que "nenhum número de versão" pode ser a melhor escolha.