LSLínguas Sem BenaventeInglês para brasileiros

Aula

Code review B1: sugestões e justificativas

Nível: B1

Objetivo

Dar e receber feedback em code reviews em inglês com sugestões educadas e justificativas claras sobre performance, legibilidade, segurança e manutenção.

Explicação

Em um code review profissional em inglês, dois movimentos andam juntos: fazer uma sugestão educada e justificá-la com uma razão clara.

Para sugerir sem soar direto, use aberturas que deixam espaço para a outra pessoa:

  • `Would it be better to ...?` para propor uma alternativa específica
  • `Have you considered ...?` para apresentar uma ideia nova
  • `What if we ...?` ou `Could we ...?` para uma proposta aberta
  • `I'd suggest ...` para uma recomendação mais firme

A justificativa vem logo depois. Os quatro pilares mais comuns são performance, readability, security e maintainability. Padrões fixos deixam a revisão clara:

  • `From a performance perspective, this could be slow because ...`
  • `For readability, I'd suggest extracting this into a helper function.`
  • `From a security perspective, this could be a risk because ...`
  • `For maintainability, this might cause issues when ...`

Uma sugestão educada costuma ter três partes: a abertura (`Would it be better to ...`), a mudança concreta (`extract this into a helper`) e a justificativa (`because it would make the code easier to test`). Pular a justificativa deixa o feedback vago.

Verbos como `extract`, `refactor`, `simplify` e `optimize` aparecem com frequência. Em B1, combine-os com `would` ou `could` em vez do imperativo: prefira `Would it be better to refactor this?` em vez de `Refactor this.`

Sempre feche a frase de justificativa: `From a performance perspective, this could be slow on large datasets.` termina em `datasets.`, não em `because` solto.

Exemplos

InglêsTraduçãoObservação
Would it be better to extract that loop into a helper function?Seria melhor extrair esse loop para uma função auxiliar?Sugestão educada com would + forma base.
Have you considered using a join instead of a loop?Você considerou usar um join em vez de um loop?Have you considered + gerúndio apresenta uma alternativa.
From a performance perspective, this could be slow on large datasets.Do ponto de vista de performance, isso pode ser lento em conjuntos de dados grandes.From a ___ perspective introduz a justificativa.
For readability, I'd suggest renaming this variable.Para legibilidade, eu sugeriria renomear essa variável.For + qualidade, I'd suggest + gerúndio.
From a security perspective, this could be a risk because there's no input validation.Do ponto de vista de segurança, isso pode ser um risco porque não há validação de entrada.Justificativa encadeada com because.
For maintainability, I'd suggest keeping the configuration in a single file.Para manutenibilidade, eu sugeriria manter a configuração em um único arquivo.For maintainability introduz uma justificativa de longo prazo.

Erros comuns

  • Usar imperativo direto em vez de sugestão educada: `Move this.` deve ser `Would it be better to move this?`.
  • Fazer uma sugestão sem justificativa: `Have you considered a join?` deixa a equipe sem entender o motivo.
  • Misturar `would` e `will` em sugestões: `Would it be better` é mais educado que `Will it be better`.
  • Confundir security e safety: `security` é sobre dados e sistema; `safety` refere-se a pessoas e ao mundo físico.
  • Usar `because` e parar a frase: complete a justificativa com a razão concreta, não a deixe pendurada.

Prática guiada

Reescreva cada feedback direto como uma sugestão educada com justificativa.

  • Direto: `Refactor this function.`
  • Sugestão: `Would it be better to refactor this function? It's getting hard to read.`

  • Direto: `Add a test for the new endpoint.`
  • Sugestão: `Have you considered adding a test for the new endpoint? It would help us catch regressions.`

  • Direto: `Don't run the query in a loop.`
  • Sugestão: `From a performance perspective, this could be slow because the query runs once per item.`

Repare como cada sugestão une a abertura, a mudança concreta e a razão.

Resumo

Sugestões educadas começam com `Would it be better to...?`, `Have you considered...?`, `What if we...?` ou `I'd suggest...`. Justificativas vêm depois com `From a ___ perspective`, `For ___` ou `because` e sempre citam performance, readability, security ou maintainability.

Vocabulário

Palavras principais

18 itens
Would it be better to ...?Seria melhor ...?

Would it be better to extract the loop into a helper?

Seria melhor extrair o loop para uma função auxiliar?
Have you considered ...?Você considerou ...?

Have you considered using a join instead of a loop?

Você considerou usar um join em vez de um loop?
I'd suggest ...Eu sugeriria ...

I'd suggest renaming this variable.

Eu sugeriria renomear essa variável.
I think this would improve ...Eu acho que isso melhoraria ...

I think this would improve performance because it avoids repeated queries.

Eu acho que isso melhoraria a performance porque evita consultas repetidas.
What if we ...?E se nós ...?

What if we cache this query for a few minutes?

E se nós armazenarmos essa consulta em cache por alguns minutos?
Could we ...?Poderíamos ...?

Could we move this check to a middleware?

Poderíamos mover essa verificação para um middleware?
From a performance perspective, ...Do ponto de vista de performance, ...

From a performance perspective, this could be slow on large datasets.

Do ponto de vista de performance, isso pode ser lento em conjuntos de dados grandes.
For readability, ...Para legibilidade, ...

For readability, I'd suggest extracting this into a helper.

Para legibilidade, eu sugeriria extrair isso para uma função auxiliar.
From a security perspective, ...Do ponto de vista de segurança, ...

From a security perspective, this could be a risk because there's no auth check.

Do ponto de vista de segurança, isso pode ser um risco porque não há verificação de autenticação.
For maintainability, ...Para manutenibilidade, ...

For maintainability, I'd suggest keeping the config in a single file.

Para manutenibilidade, eu sugeriria manter a configuração em um único arquivo.
In my opinion, ...Na minha opinião, ...

In my opinion, the function is doing too many things.

Na minha opinião, a função está fazendo coisas demais.
pull requestpedido de merge (PR)

Liam opened a pull request with the new endpoint.

Liam abriu um pull request com o novo endpoint.
code reviewrevisão de código

The code review took about thirty minutes.

A revisão de código levou cerca de trinta minutos.
feedbackretorno, feedback

She left detailed feedback on the diff.

Ela deixou um feedback detalhado no diff.
concernpreocupação, ponto de atenção

I have a concern about the input validation.

Tenho uma preocupação com a validação de entrada.
trade-offcompensação, custo-benefício

There's a trade-off between speed and memory usage.

Há uma compensação entre velocidade e uso de memória.
edge casecaso de borda, caso limite

We should add a test for this edge case.

Devemos adicionar um teste para esse caso de borda.
refactorrefatorar

I'd suggest we refactor this function into smaller pieces.

Eu sugeriria refatorar essa função em partes menores.

História

História: Code review B1: sugestões e justificativas

Nível: B1

História em inglês

Opening the review

On Monday morning, Liam opened a pull request titled 'Add user export endpoint'. He asked Priya to review the changes before merging. Priya left a friendly comment: 'Thanks for the PR! Have you considered adding tests for the new endpoint?' Liam replied, 'Good point. Would it be better to cover both the success and the error cases?' Priya agreed and added a short note about edge cases in the test file.

Performance and readability

In the next file, Priya noticed a loop that runs a database query on every iteration. She wrote, 'From a performance perspective, this could be slow on large datasets.' Liam asked, 'Would it be better to use a single query with a join instead?' Priya answered, 'Yes, that would simplify the code and improve performance.' After the change, the function was shorter and easier to read.

A security concern

Later, Priya reviewed the new route handler. She wrote, 'From a security perspective, this could be a risk because the endpoint doesn't check the user's role.' Liam asked, 'Have you considered using a middleware to enforce the role check?' Priya said, 'That's a good idea. For maintainability, I'd suggest extracting the role logic into a shared helper.' Liam updated the code, ran the tests, and asked Priya for a final review.

Tradução linha por linha

InglêsTradução
On Monday morning, Liam opened a pull request titled 'Add user export endpoint'.Na segunda-feira de manhã, Liam abriu um pull request intitulado 'Adicionar endpoint de exportação de usuários'.
He asked Priya to review the changes before merging.Ele pediu que Priya revisasse as mudanças antes do merge.
Priya left a friendly comment: 'Thanks for the PR! Have you considered adding tests for the new endpoint?'Priya deixou um comentário amigável: 'Obrigada pelo PR! Você considerou adicionar testes para o novo endpoint?'
Liam replied, 'Good point. Would it be better to cover both the success and the error cases?'Liam respondeu: 'Boa observação. Seria melhor cobrir tanto o caso de sucesso quanto o de erro?'
Priya agreed and added a short note about edge cases in the test file.Priya concordou e adicionou uma observação curta sobre casos de borda no arquivo de teste.
In the next file, Priya noticed a loop that runs a database query on every iteration.No próximo arquivo, Priya notou um loop que executa uma consulta ao banco a cada iteração.
She wrote, 'From a performance perspective, this could be slow on large datasets.'Ela escreveu: 'Do ponto de vista de performance, isso pode ser lento em conjuntos de dados grandes.'
Liam asked, 'Would it be better to use a single query with a join instead?'Liam perguntou: 'Seria melhor usar uma única consulta com join em vez disso?'
Priya answered, 'Yes, that would simplify the code and improve performance.'Priya respondeu: 'Sim, isso simplificaria o código e melhoraria a performance.'
After the change, the function was shorter and easier to read.Depois da mudança, a função ficou mais curta e mais fácil de ler.
Later, Priya reviewed the new route handler.Mais tarde, Priya revisou o novo handler de rota.
She wrote, 'From a security perspective, this could be a risk because the endpoint doesn't check the user's role.'Ela escreveu: 'Do ponto de vista de segurança, isso pode ser um risco porque o endpoint não verifica a função do usuário.'
Liam asked, 'Have you considered using a middleware to enforce the role check?'Liam perguntou: 'Você considerou usar um middleware para forçar a verificação de função?'
Priya said, 'That's a good idea. For maintainability, I'd suggest extracting the role logic into a shared helper.'Priya disse: 'Boa ideia. Para manutenibilidade, eu sugeriria extrair a lógica de função para uma função auxiliar compartilhada.'
Liam updated the code, ran the tests, and asked Priya for a final review.Liam atualizou o código, executou os testes e pediu a revisão final de Priya.

Notas de vocabulário

  • pull request = pedido de merge com as mudanças de uma branch; abrevia-se PR
  • Have you considered ...? = abertura educada para sugerir uma alternativa
  • Would it be better to ...? = pergunta educada para propor uma mudança específica
  • edge case = caso de borda ou situação limite que merece cobertura em testes
  • From a performance perspective = introduz uma justificativa sobre velocidade ou uso de recursos
  • single query with a join = consulta única com junção; alternativa a várias consultas em loop
  • route handler = função que trata uma rota específica da API
  • From a security perspective = introduz uma justificativa sobre autenticação, autorização ou dados
  • For maintainability = justificativa de longo prazo sobre evolução do código
  • shared helper = função auxiliar reutilizada em vários lugares do código

Perguntas de compreensão

  1. What did Liam add in the pull request?
  2. Who did Liam ask to review the changes?
  3. What did Priya ask Liam to add for the new endpoint?
  4. From a performance perspective, what was the problem with the loop?
  5. What did Priya suggest to simplify the code?
  6. Why was the endpoint a security risk?
  7. What did Priya suggest extracting into a shared helper?

Prática com a história

  1. Reescreva como sugestão educada: 'Add a test for the empty list case.'
  2. Complete: '___ I'd suggest extracting the validation into a helper function.'
  3. Traduza: 'Você considerou usar um middleware para forçar a verificação de função?'

Prática

Exercícios e teste

Próxima etapa
7blocos de exercícios disponíveis neste tema
8questões de teste para revisar depois da aula

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.