terça-feira, 8 de março de 2016

SCV: Boas Práticas #Parte 1#

Não importa se o sistema de controle de versão é centralizado ou distribuído, boas práticas são necessárias no uso desses sistemas, de modo a serem obtidos os melhores resultados, a seguir, algumas dessas práticas serão explanadas.

Fonte: http://www.colegioangloavare.com.br/site/wp-content/uploads/2015/02/Dicas.jpg


Os conselhos de boas práticas serão divididos em mais de uma postagem, de modo a não deixar as mesmas muito grandes e de difícil absorção.

Use uma mensagem clara e útil em seus commits

Uma boa e clara mensagem não toma muito tempo de um desenvolvedor ao aplicar um commit, mensagens são úteis para mostrar, como um breve resumo, do que se tratam as mudanças propostas no commit e ajudam no entendimento de todos os envolvidos no projeto.

Cada commit deve ser uma unidade lógica

Fonte: http://icons.iconarchive.com/icons/oxygen-icons.org/oxygen/256/Actions-svn-commit-icon.png
Cada commit deve ter uma única proposta e implementá-la por completo, de modo a simplificar a busca por commits e também facilitar a correção de bugs. Pode ser trabalhoso realizar vários commits diferentes para obedecer essa recomendação, entretanto o esforço é compensado pela organização e facilidade de busca garantidos.


Commits sem descrição devem ser evitados

Arquivos devem ser especificados no momento do commit, de modos a apenas arquivos que sofreram mudanças sejam "commitados", os comandos abaixo exemplificam o uso de um filtro para saber o que "commitar".

No Git:
  # Lista todos os arquivos alterados
  git status
  # mostra diferenças específicas, ajuda a formar uma mensagem de commit
  git diff
  # Commita apenas os arquivos desejados
  git commit arquivo1 arquivo2 -m "mensagem de commit"
 
No Mercurial:
  # Lista todos os arquivos alterados
  hg status
  # mostra diferenças específicas, ajuda a formar uma mensagem de commit
  hg diff
  # Commita apenas os arquivos desejados
  hg commit file1 file2 -m "mensagem de commit"
 

As mudanças feitas pelos envolvidos no projeto devem sempre ser atualizadas por todos os envolvidos

Fonte: http://www.dameware.com/getattachment/5b3f8231-b20f-4787-be9e-acdd3a127ddb/Patch-Management-Updates.jpg.aspx?width=500&height=334&ext=.jpg
É interessante que cada membro trabalhe com a versão mais atualizada possível dos arquivos, ou seja, git pull, git pull -r, hg fetch ou ainda svn update são comandos que devem fazer parte do cotidiano dos envolvidos no projeto, a depender logicamente de qual ferramenta esteja sendo usada. A constante atualização de uma working copy é uma ferramenta poderosa no combate a conflitos.

Referências:

Version control concepts and best practices. Disponível em:
https://homes.cs.washington.edu/~mernst/advice/version-control.html. Acesso em <08/03/2016>.

Nenhum comentário:

Postar um comentário