segunda-feira, 6 de janeiro de 2014

Melhores práticas no uso dos Sistemas de Controle de Versão

Este post apresenta um conjunto de boas práticas que podem ser aplicadas tanto na utilização de Sistemas de Controle de Versão centralizados como também na utilização dos distribuídos.

Descreva o que foi realizado para cada commit
Escrever uma boa mensagem de commit leva pouco tempo. Em contra partida, evita a perda de tempo na busca de alterações relacionadas a determinado assunto.

Cada commit deve ter um único propósito
Pode acontecer que durante o desenvolvimento de uma tarefa, perceba-se outra questão que precisa de correção. Primeiro deve se commitar os arquivos referentes a essa questão recém descoberta e depois os arquivos relacionados à tarefa de origem. Com isto, caso seja necessário desfazer alguma funcionalidade, somente esta funcionalidade será desfeita e não as outras que foram indevidamente relacionadas.

Evite commits indiscriminados
Como regra geral, não execute commit sem fornecer os arquivos específicos para commitar. Se você não fornecer nenhum nome de arquivo, então o commit irá submeter cada arquivo alterado e pode acontecer de mudanças temporárias para fins de depuração acabem também sendo submetidas.

Compartilhe suas alterações frequentemente
Depois de ter realizado a tarefa por completo, você deve compartilhar essas alterações com os seus colegas o mais rápido possível.

Comunicação com seus colegas de trabalho
O sistema de controle de versão pode frequentemente mesclar as alterações que diferentes pessoas fazem simultaneamente. No entanto, quando duas pessoas editam uma mesma linha, surge um conflito que só pode ser resolvido manualmente. Para evitar isso, é aconselhável o diálogo com seus colegas de trabalho de modo que um possa commitar antes que o outro comece a modificar. 

Não submeter os arquivos gerados
O controle de versão é destinado aos arquivos que as pessoas editam. Logo, os arquivos gerados não devem estar nos commits. Um exemplo de arquivos gerados são os arquivos binários que resultam da compilação dos arquivos de classe.  

Entenda sua ferramenta de mesclagem
A parte menos agradável de trabalhar com controle de versão é a resolução de conflitos . Se você seguir as melhores práticas, raramente você vai ter que resolver conflitos.  Mas quando estes aparecerem, você deve certificar-se de que você compreende a sua ferramenta de mesclagem, evitando assim a introdução de mais erros.

Fonte: http://homes.cs.washington.edu/~mernst/advice/version-control.html

Um comentário:

  1. E ai Ramon. Bom post!
    Só gostaria de acrescentar um exemplo real do que acontece quando o item "Não submeter os arquivos gerados" é ignorado. =]

    https://github.com/ramonramos/controlart/commit/66bc8fba25968e3259f5ddcc28d015cc10a87045

    ResponderExcluir