Exemplo
Como um exemplo de projeto que use Git, vamos desenvolver uma calculadora RPN e usaremos Git para versionar o projeto. O projeto desenvolvido pode ser encontrado no endereço https://github.com/petcomputacaoufrgs/rpn-calc.
NOTA: neste exemplo, não usaremos --set-upstream
, e escreveremos sempre
o nome das branches em pushes e pulls por questões de clareza.
Uma calculadora RPN usa notação polonesa reversa, uma notação pósfixa. Por
exemplo, 3 + 2
em RPN é escrito 3 2 +
, enquanto (5 + 4/3 - 1) * 2
é
escrito 5 4 3 / + 1 - 2 *
. Parentesis normalmente não são usados, mas a
expressão anterior pode ser lida como ((5 (4 3 /) +) 1 -) 2 *
. RPN funciona
através de uma pilha de operandos. Passo a passo da execução da expressão acima:
- Estado Inicial
Expressão: 5 4 3 / + 1 - 2 *
Pilha: topo = fundo
- Trazer
5
para a pilha
Expressão: 4 3 / + 1 - 2 *
Pilha: fundo = 5 = topo
- Trazer
4
para a pilha
Expressão: 3 / + 1 - 2 *
Pilha: fundo = 5, 4 = topo
- Trazer
3
para a pilha
Expressão: / + 1 - 2 *
Pilha: fundo = 5, 4, 3 = topo
- Executar a operação
/
nos dois elementos mais ao topo da pilha.
Expressão: + 1 - 2 *
Pilha: fundo = 5, 1.3333... = topo
- Executar a operação
+
nos dois elementos mais ao topo da pilha.
Expressão: 1 - 2 *
Pilha: fundo = 6.3333... = topo
- Trazer
1
para a pilha
Expressão: - 2 *
Pilha: fundo = 6.3333..., 1 = topo
- Executar a operação
-
nos dois elementos mais ao topo da pilha.
Expressão: 2 *
Pilha: fundo = 5.3333... = topo
- Trazer
2
para a pilha
Expressão: *
Pilha: fundo = 5.3333..., 2 = topo
- Executar a operação
*
nos dois elementos mais ao topo da pilha.
Expressão: vazia
Pilha: fundo = 10.6666... = topo
Resultado: 10.6666...
.
NOTA: Boa parte dos commits aqui não têm o melhor exemplode mensagem, mas são o suficiente para terem significado, e são só exemplos de mensagens.