sábado, 12 de fevereiro de 2011

Porque utilizar o controle de versões



Um sistema de controle de versão, VCS (do inglês version control system) ou ainda SCM (do inglês source code management), é um software com a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer. Esses sistemas são comumente utilizados no desenvolvimento de software para controlar as diferentes versões – histórico e desenvolvimento – dos códigos-fontes e também da documentação.
Esse tipo de sistema é muito presente em empresas e instituições de tecnologia e desenvolvimento de software. É também muito comum no desenvolvimento de software livre. É útil, em diversos aspectos, tanto para projetos pessoais pequenos e simples como também para grandes projetos comerciais.
Principais Vantagens
Imagine o seguinte:
Você chega lá na empresa que você está desenvolvendo um projeto, passou dias desenvolvendo e logicamente há outras pessoas alterando os arquivos do projeto, porém nenhuma delas utilizaram o controle de versão para informar a você das modificações atuais, ou seja você está la com a sua versão porém já pode ter ocorrido uma série de alterações. Isso nos mostra como é importante termos o controle de versão , uma que sem ele você pode afetar o prazo de entrega já que ficou todo bagunçado e você vai ter todo um trabalho de ir atrás dos arquivos modificados para um futuro merge ( em outro post falarei de umas ferramentas boas para isto) na qual demanda muito tempo e sujeito a mais erros.
A principal função do sistema de controle de versão é armazenar todo o histórico de desenvolvimento do documento ( todas suas modificações nos arquivos são registradas), desde o primeiro envio até sua última versão. Isso permite que seja possível resgatar uma determinada versão de qualquer data mais antiga, evitando desperdício de tempo no desenvolvimento para desfazer alterações quando se toma algum rumo equivocado.
Alguns exemplos de softwares que fazem controle de versoes
Soluções comerciais
  • Microsoft Visual SourceSafe (VSS) – produto da Microsoft para controle de versão, integrado a muitas IDEs da Microsoft.
  • Rational ClearCase – produto da IBM para controle de versão.
  • Borland StarTeam – produto da Borland para controle de versão e de equipe.
Soluções livres
  • Concurrent Version System (CVS) – software livre clássico e bem testado.
  • Subversion (SVN)
  • Git – Software para controle de versão distribuído com foco na velocidade.
  • MediaWiki – software livre que possui um sistema integrado de controle de versões. Sites com os projetos da Wikimedia, tal como a Wikipédia mantém o sistema MediaWiki para o controle das versões dos documentos. Esse sistema permite o trabalho simultâneo de milhares de voluntários.
  • GNU CSSC
  • Revision Control System (RCS)
  • Bazaar
  • Darcs
  • Mercurial
  • Monotone
  • SVK
    Eu fiz o uso do GIT  e do SVN, ambos me trouxeram uma prática muito boa de versionamento, no meu caso eu estava trabalhando com linux embarcado, caso acontecesse algum erro aparentemente “irreparavel” ou então se eu tivesse meus arquivos atuais corrompidos, ao invés de ter que reinstalar o kernel ou ir atras destes arquivos com alguém, era só eu voltar para uma versão anterior que estaria lá no meu git ( falarei mais do git em breve) .
    Fica aqui mais uma dica, o projeto sem estas boas práticas de software pode comprometer a confiabilidade/qualidade do seu projeto.

0 comentários:

Postar um comentário