Transcript
Page 1: Porque todo programador deve utilizar Sistema de Controle de Versão?

Porque todo programador deve usar Sistema de Controle de Versão?

Marco RosnerIFAL

Page 2: Porque todo programador deve utilizar Sistema de Controle de Versão?

Quem sou?

Marco Rosner

- Graduado em Sistemas de Informação pelo IFAL- Técnico em Administração e Projeto de Redes pelo CET/IFAL- Analista e desenvolvedor do SAEO- Desenvolvedor do Brisa- Organizador do Debian Festival

Page 3: Porque todo programador deve utilizar Sistema de Controle de Versão?

Quem já participou de um projeto?

Page 4: Porque todo programador deve utilizar Sistema de Controle de Versão?

Auto-avaliação

1 – Alguém já sobrescreveu o código de alguma outra pessoa?

2 – Você sabe quem e em que momento qualquer parte do sistema foi alterado?

3 – É difícil compartilhar o código fonte com todos da equipe?

Page 5: Porque todo programador deve utilizar Sistema de Controle de Versão?

Então, você...

Page 6: Porque todo programador deve utilizar Sistema de Controle de Versão?

Seu chefe...

Page 7: Porque todo programador deve utilizar Sistema de Controle de Versão?

Bate o desespero!

Page 8: Porque todo programador deve utilizar Sistema de Controle de Versão?

Mas o que é Sistema de Controle de Versão (SCV)?

Page 9: Porque todo programador deve utilizar Sistema de Controle de Versão?

Qual a importância?

- Compartilhamento de documentos e versionamento deles- Permitir trabalho em paralelo e controlar as modificações- Facilidade de aplicar manutenção e gerenciar a qualidade- Possibilidade de trabalhar em equipe (e agregar mais pessoas a equipe)

Page 10: Porque todo programador deve utilizar Sistema de Controle de Versão?

Onde se aplica?

- Wikis (Foswiki, Twiki, Wikipedia...)- Processadores de texto (Google Docs...)- CMS (Joomla!, Drupal, Mambo, Plone...)- Projetos de softwares- Documentação de software

Page 11: Porque todo programador deve utilizar Sistema de Controle de Versão?

Quem usa?

Page 12: Porque todo programador deve utilizar Sistema de Controle de Versão?

Conceitos fundamentais

- Repositório

- Cópia de trabalho (Working copy)

Page 13: Porque todo programador deve utilizar Sistema de Controle de Versão?

Conceitos fundamentais

- Estratégias de compartilhamento de arquivos

- Solução 1: Lock-Modify-Unlock● Lock pode causar problemas administrativos● Locking pode causar serialização desnecessária

- Solução 2: Copy-Modify-Merge

Page 14: Porque todo programador deve utilizar Sistema de Controle de Versão?

Conceitos fundamentais

- Revisões● calc/Makefile:2

integer.c:2 button.c:3

- Revisões Mistas● Atualizações e Submissões são separadas.

Page 15: Porque todo programador deve utilizar Sistema de Controle de Versão?

Conceitos fundamentais (Terminologia)

- Check out/Clone● Cria uma CT do repositório*

- Update● Atualiza uma CT com a última versão do repositório

- Commit● Ato de submeter as alterações feitas na CT para o repositório

- Branch● Conjunto de arquivos separados do mainstream do projeto para

ser trabalhado separadamente.

- Trunk● Linha principal de trabalho do projeto

Page 16: Porque todo programador deve utilizar Sistema de Controle de Versão?

Quando utilizar sistema centralizado?

- Desenvolvimento local- Equipe pouco numerosa- Projetos de pequeno e médio porte- Necessidade de maior controle da codificação

Page 17: Porque todo programador deve utilizar Sistema de Controle de Versão?

Quando utilizar sistema distribuído?

- Desenvolvimento distribuído- Equipe muito numerosa- Projetos de grande porte- Necessidade de dividir a equipe em sub-equipes

Page 18: Porque todo programador deve utilizar Sistema de Controle de Versão?

Dúvidas?

Sugestões?

Elogios?

Page 19: Porque todo programador deve utilizar Sistema de Controle de Versão?

Obrigado!

Marco Rosner

[email protected]


Top Related