I opened a ticket for the checkout bug.
Abri um ticket para o bug do checkout.Aula
Projeto A2: bug report, PR e release simples
Nível: A2
Objetivo
Integrar habilidades A2 em um mini-projeto de software: abrir ticket com reprodução, resumir um PR em poucas frases, responder a um review e comunicar uma release em inglês claro e profissional.
Explicação
Este tópico junta cinco habilidades do A2 em um único fluxo de trabalho: do bug aberto ao release no ar. Em cada etapa, frases curtas, voz ativa e listas funcionam melhor do que parágrafos longos.
1. Abrir ticket. O título deve ser uma frase que descreve o sintoma, não uma opinião genérica.
- `Apply coupon code returns 500 on checkout` (bom: sintoma + local)
- `Bug in coupon` (ruim: vago, sem sintoma)
- `It doesn't work` (ruim: não diz o que aparece)
No corpo do ticket, cinco blocos curtos: steps to reproduce (1, 2, 3...), expected (o que deveria acontecer), actual (o que realmente acontece), environment (navegador, SO, build) e severity (High/Medium/Low).
2. Descrever a reprodução. Os passos vão em uma lista numerada, cada um com uma ação no imperativo:
`1) Add an item to the cart. 2) Go to checkout. 3) Enter the code SAVE10. 4) Click Apply.`
Evite explicações longas no meio dos passos — coloque-as em uma nota à parte. Use a forma `Enter` (não `Enters` nem `Entering`).
3. Resumir um PR. O título segue a convenção de commit: imperativo curto, sem pronome: `Fix 500 error on coupon code apply`. A descrição tem 1-3 frases curtas, no estilo `This PR fixes...` + `It adds...` + `It updates...`.
- `This PR fixes issue #4321. It adds a check for empty codes and updates the test.`
4. Responder a um review. Combine agradecimento com confirmação curta:
- `Thanks for the review. Done. Pushed the new version.`
- `Good catch. Done.`
- `Will do. Pushing in a few minutes.`
Responder só `OK` ou `Done` soa curto demais; o `Thanks for the review` abre a conversa de forma profissional.
5. Comunicar uma release. Em um canal ou e-mail, três blocos curtos:
- Versão: `We just released v1.4.`
- O que inclui: `It includes the coupon fix and a new test.`
- Pedido de feedback: `Please report any issues in this channel.`
Em todo o fluxo, prefira frases curtas, voz ativa, listas numeradas ou com bullet points, e um único ponto por frase. Esse é o tom neutro de equipes de engenharia em inglês.
Exemplos
| Inglês | Tradução | Observação |
|---|---|---|
| Apply coupon code returns 500 on checkout | Aplicar código de cupom retorna 500 no checkout | Título de ticket: sintoma + local, sem 'bug' ou 'it doesn't work'. |
| 1) Add an item to the cart. 2) Go to checkout. 3) Enter SAVE10. 4) Click Apply. | 1) Adicione um item ao carrinho. 2) Vá para o checkout. 3) Digite SAVE10. 4) Clique em Aplicar. | Passos curtos, imperativo, um por linha. |
| Expected: the page shows the new total. Actual: the page shows a 500 error. | Esperado: a página mostra o novo total. Atual: a página mostra um erro 500. | Pares expected/actual nesta ordem, com ponto final em cada um. |
| This PR fixes issue #4321. It adds a check for empty codes and updates the test. | Este PR corrige a issue #4321. Ele adiciona uma verificação para códigos vazios e atualiza o teste. | Descrição de PR em 2 frases: o que fecha + o que muda. |
| Thanks for the review. Done. Pushed the new version. | Obrigado pela review. Pronto. Subi a nova versão. | Resposta de review: agradecimento + confirmação curta. |
| We just released v1.4. It includes the coupon fix and a new test. Please report any issues in this channel. | Acabamos de lançar a v1.4. Ela inclui a correção do cupom e um novo teste. Reportem qualquer problema neste canal. | Release note: versão + o que inclui + pedido de feedback. |
Erros comuns
- Usar títulos vagos no ticket: `Bug` ou `It doesn't work` devem ser substituídos por uma frase que descreve o sintoma, como `Apply coupon returns 500 on checkout`.
- Colocar explicação longa no meio dos passos: `1) Add an item, this happens because the API is slow...` deve ser quebrado em passos curtos e uma nota à parte.
- Inverter expected e actual: o expected vem sempre antes e descreve o comportamento correto; o actual descreve o que de fato acontece.
- Escrever a descrição do PR no past simple: `I fixed the coupon bug` deve virar `Fix 500 on coupon apply` no título e `This PR fixes...` na descrição.
- Responder ao review só com `OK` ou `Done` sem agradecer: `Thanks for the review` abre a resposta; depois vêm `Done` ou `Pushed the new version`.
- Comunicar release sem a versão: `We released the new thing` deve incluir o número, como `We just released v1.4`.
- Fechar a release só com `Thanks` em vez de um pedido: prefira `Please report any issues in this channel`.
Prática guiada
Monte as cinco peças do projeto a partir do mesmo bug (cupom retorna 500 no checkout):
- Título do ticket: `Apply coupon code returns 500 on checkout`
- Passos para reproduzir: `1) Add an item. 2) Go to checkout. 3) Enter SAVE10. 4) Click Apply.`
- Expected/Actual: `Expected: the page shows the new total. Actual: the page shows a 500 error.`
- PR: título `Fix 500 error on coupon code apply`; descrição `This PR fixes issue #4321. It adds a check for empty codes and updates the test.`
- Resposta ao review: `Thanks for the review. Done. Pushed the new version.`
- Release note: `We just released v1.4. It includes the coupon fix and a new test. Please report any issues in this channel.`
Observe que em todas as peças há: frase curta, voz ativa, lista numerada ou com bullet points, e uma única ideia por frase. Esse é o tom comum de equipes de engenharia em inglês.
Resumo
O projeto A2 junta cinco peças em um só fluxo: ticket com título claro e passos curtos de reprodução, expected/actual, descrição curta de PR no estilo 'This PR fixes...', resposta educada ao review com agradecimento e confirmação, e release com versão + o que inclui + pedido de feedback. Em todas elas, prefira frases curtas, voz ativa, listas numeradas e um único ponto por frase.
Vocabulário
Palavras principais
Please add the steps to reproduce in the ticket.
Adicione os passos para reproduzir no ticket.'Expected: the page shows the new total.'
'Esperado: a página mostra o novo total.''Actual: the page shows a 500 error.'
'Atual: a página mostra um erro 500.'The bug has High severity.
O bug tem gravidade alta.I opened a pull request with the fix.
Abri um pull request com a correção.Anna is doing a code review on my PR.
Anna está fazendo code review no meu PR.I pushed the fix to the branch.
Subi a correção para a branch.I updated the release notes for v1.4.
Atualizei as release notes da v1.4.The fix is in version 1.4.
A correção está na versão 1.4.We shipped the new version on Friday.
Entregamos a nova versão na sexta.We released v1.4 to production.
Lançamos a v1.4 em produção.The release includes three fixes.
A release inclui três correções.Anna left two comments on my PR.
Anna deixou dois comentários no meu PR.História
História: Projeto A2: bug report, PR e release simples
Nível: A2
História em inglês
A new bug report
On Tuesday morning, a customer reported a problem with the checkout page. Sam checked the issue and opened a ticket. The title was short: "Apply coupon code returns 500 on checkout." He listed the steps to reproduce: 1) Add an item to the cart. 2) Go to checkout. 3) Enter the code SAVE10. 4) Click Apply. Expected: the page shows the new total. Actual: the page shows a 500 error. Environment: Chrome 120, Windows 11. Severity: High.
The pull request
Sam found the bug in the coupon validator. He wrote a small test and fixed the issue. Then he opened a pull request: "Fix 500 error on coupon code apply." The description was short: "This PR fixes issue #4321. It adds a check for empty codes and updates the test." He asked Anna to do a code review on the change.
Review and release
Anna left two comments on the PR. The first comment was a NIT: "NIT: could you rename 'tmp' to 'discount'?" The second comment asked for a test: "Could you add a test for the empty case?" Sam updated the code and pushed the new version to the branch. He answered: "Thanks for the review. Done. Pushed the new version." On Friday, the team shipped version 1.4. Sam wrote a short note in the channel: "We just released v1.4. It includes the coupon fix and a new test. Please report any issues in this channel." The customer answered: "Thanks, the checkout works again."
Tradução linha por linha
| Inglês | Tradução |
|---|---|
| On Tuesday morning, a customer reported a problem with the checkout page. | Na terça de manhã, um cliente reportou um problema na página de checkout. |
| Sam checked the issue and opened a ticket. | Sam verificou o problema e abriu um ticket. |
| The title was short: "Apply coupon code returns 500 on checkout." | O título era curto: "Aplicar código de cupom retorna 500 no checkout." |
| He listed the steps to reproduce: 1) Add an item to the cart. 2) Go to checkout. 3) Enter the code SAVE10. 4) Click Apply. | Ele listou os passos para reproduzir: 1) Adicione um item ao carrinho. 2) Vá para o checkout. 3) Digite o código SAVE10. 4) Clique em Aplicar. |
| Expected: the page shows the new total. Actual: the page shows a 500 error. | Esperado: a página mostra o novo total. Atual: a página mostra um erro 500. |
| Environment: Chrome 120, Windows 11. Severity: High. | Ambiente: Chrome 120, Windows 11. Gravidade: Alta. |
| Sam found the bug in the coupon validator. | Sam encontrou o bug no validador de cupons. |
| He wrote a small test and fixed the issue. | Ele escreveu um teste pequeno e corrigiu o problema. |
| Then he opened a pull request: "Fix 500 error on coupon code apply." | Então ele abriu um pull request: "Corrige erro 500 ao aplicar código de cupom." |
| The description was short: "This PR fixes issue #4321. It adds a check for empty codes and updates the test." | A descrição era curta: "Este PR corrige a issue #4321. Ele adiciona uma verificação para códigos vazios e atualiza o teste." |
| He asked Anna to do a code review on the change. | Ele pediu para Anna fazer um code review na alteração. |
| Anna left two comments on the PR. | Anna deixou dois comentários no PR. |
| The first comment was a NIT: "NIT: could you rename 'tmp' to 'discount'?" | O primeiro comentário era um NIT: "NIT: você poderia renomear 'tmp' para 'discount'?" |
| The second comment asked for a test: "Could you add a test for the empty case?" | O segundo comentário pediu um teste: "Você poderia adicionar um teste para o caso vazio?" |
| Sam updated the code and pushed the new version to the branch. | Sam atualizou o código e subiu a nova versão para a branch. |
| He answered: "Thanks for the review. Done. Pushed the new version." | Ele respondeu: "Obrigado pela review. Pronto. Subi a nova versão." |
| On Friday, the team shipped version 1.4. | Na sexta, a equipe entregou a versão 1.4. |
| Sam wrote a short note in the channel: "We just released v1.4. It includes the coupon fix and a new test. Please report any issues in this channel." | Sam escreveu uma nota curta no canal: "Acabamos de lançar a v1.4. Ela inclui a correção do cupom e um novo teste. Reportem qualquer problema neste canal." |
| The customer answered: "Thanks, the checkout works again." | O cliente respondeu: "Obrigado, o checkout voltou a funcionar." |
Notas de vocabulário
- Apply coupon code returns 500 on checkout = Título de ticket com sintoma e local; evite títulos vagos como 'Bug' ou 'It doesn't work'.
- steps to reproduce = Lista numerada de ações no imperativo; uma ação por linha.
- Expected: ... Actual: ... = Pares nesta ordem, descrevendo o comportamento correto e o erro real.
- This PR fixes issue #4321. It adds a check for empty codes and updates the test. = Descrição de PR em duas frases: o que fecha + o que muda.
- Thanks for the review. Done. Pushed the new version. = Resposta de review: agradecimento + confirmação curta da ação.
- We just released v1.4. It includes the coupon fix and a new test. Please report any issues in this channel. = Release note: versão com 'We just released', mudanças com 'It includes', pedido com 'Please report any issues'.
Perguntas de compreensão
- What problem did the customer report?
- What was the ticket title?
- What was the severity of the bug?
- What was the title of the pull request?
- What did the second comment from Anna ask for?
- How did Sam answer Anna after pushing the new version?
- What version did the team release, and what did it include?
Prática com a história
- Reescreva este título vago de ticket como uma frase específica: 'Bug in coupon'
- Escreva uma descrição curta de PR (2 frases) que fecha a issue #4321 e adiciona um teste para o caso vazio.
- Responda a este NIT de forma curta e educada: 'NIT: could you rename the variable tmp to discount?'
- Escreva uma release note curta (2-3 frases) para a v1.5 que inclui a correção do cupom e dois novos testes.
Prática
Exercícios e teste
A próxima melhoria é transformar esses arquivos em perguntas com resposta no navegador. Por enquanto, esta página já organiza o estudo e permite seguir a aula inteira sem abrir os arquivos manualmente.