Software de controlo de versões é um software muito utilizado por programadores com o objectivo de gerir e organizar diferentes versões no desenvolvimento de software.
Este tipo de solução está normalmente implementada em grandes projectos de software, mas cada vez mais é usado em quase todos os projectos que envolvam programação de modo a facilitar a organização e controlo do desenvolvimento por parte de uma equipa.
Alguns dos problemas que podemos encontrar num projecto de desenvolvimento de software são muitas vezes causados pela falta de controlo e gestão das versões. Ao usar um software de controlo de versões é possível fazer rapidamente uma avaliação da situação em que se encontra o desenvolvimento e responder facilmente às seguintes questões:
1 – Quem é que efectuou a ultima alteração ao código e em qual das partes.
2 – A última versão está ou não funcional
3 – Qual o progresso do desenvolvimento
Todas as equipas devem usar um software de controlo de versões, mas podemos rapidamente saber se precisamos ou não de o usar respondendo as seguintes questões:
1 – Alguém já escreveu o código sobre o código criado por outra pessoa por acidente e acabou por perder as alterações?
2 – Tem dificuldades em saber quais as alterações efectuadas em um programa, quando foram feitas e quem as fez?
3 – Tem dificuldade em recuperar o código de uma versão anterior que está em produção?
Se alguma destas situações já tiver acontecido então é porque a equipa necessita de utilizar um software de controlo de versões para se organizar e sobretudo poder recuperar versões anteriores caso existam falhas na nova versão.
As principais vantagens do uso de um software de controlo de versões são:
– Controlo do Histórico: Permitindo com facilidade recuperar o trabalho efectuado anteriormente
– Trabalho em equipa: Torna possível o trabalho num único projecto por vários elementos ao mesmo tempo aumentando a produtividade.– Marcação e uso de versões estáveis: Torna possível a marcação de versões estáveis.
– Ramificação do projecto: Possibilita a divisão do projecto em várias linhas de desenvolvimento que podem ser desenvolvidas paralelamente.
Existem diversos softwares de controlo de versões actualmente, tais como:
– Source Control do Visual Studio
– Tortoise
– Mercurial
– SVN e AnkhSVN
– Team Foundation Server
– Git
– TFS
– Sourcesafe / CVS
Conclusão:
Em projectos complexos torna-se essencial o uso de um software de controlo de versões, pois não só mantém todo o trabalho organizado como é uma segurança ampliando a possibilidade do trabalho em equipa e em diversos componentes paralelamente.