porque todo programador deve utilizar sistema de controle de versão?

19
Porque todo programador deve usar Sistema de Controle de Versão? Marco Rosner IFAL

Upload: marco-rosner

Post on 27-Jun-2015

2.187 views

Category:

Education


2 download

DESCRIPTION

Estes slides foram apresentados no FREESON 2009, evento de software livre organizado pelo CESMAC, na palestra entitulada "Porque todo programador deve utilizar Sistema de Controle de Versão?"

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]