Revisão de código
Leia todo o diff antes de escrever um comentário. Liste bugs primeiro, depois riscos, depois problemas de legibilidade. Mantenha cada comentário curto e explique por que ele é importante.
Tratamento de erros
Quando o diff altera o tratamento de erros, anote o resultado depois disso. Mantenha o tratamento de erros então, depois escreva uma linha sobre o que encontrou. Observe cada lugar onde o diff toca no tratamento de erros. Uma verificação curta agora evita uma correção longa depois.
Etapas:
- Conte cada lugar onde o diff toca no tratamento de erros. Isso mantém o resultado igual a cada vez.
- Quando a alteração muda o tratamento de erros, anote o resultado antes de terminar.
- Quando o módulo muda o tratamento de erros, liste o resultado depois disso.
- Conte cada lugar onde o módulo toca no tratamento de erros. Esta é a parte que as pessoas mais perguntam.
- Se a alteração tem mais de uma regra para tratamento de erros, escolha uma regra e use-a em todos os lugares.
- Se o diff tem mais de uma regra para tratamento de erros, escolha uma regra e use-a em todos os lugares.
- Mantenha o tratamento de erros específico. Isso mostra ao leitor que você pensou nos detalhes.
- Se a alteração tem mais de uma regra para tratamento de erros, escolha uma regra e use-a em todos os lugares.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| tratamento de erros está correto | Sim, em cada lugar | Apenas em alguns lugares |
| tratamento de erros é consistente | Sim, em cada lugar | Apenas em alguns lugares |
| tratamento de erros é específico | Sim, em cada lugar | Apenas em alguns lugares |
| tratamento de erros é útil | Sim, em cada lugar | Apenas em alguns lugares |
Exemplo:
Antes: o diff tem tratamento de erros que não é específico.
Depois: o módulo tem tratamento de erros que é específico.
Eventos
Classifique eventos primeiro, depois escreva uma linha sobre o que encontrou. Mantenha eventos úteis. Uma verificação curta agora evita uma correção longa depois. Conte eventos primeiro, depois escreva uma linha sobre o que encontrou.
Etapas:
- Mantenha eventos seguros. Isso mostra ao leitor que você pensou nos detalhes.
- Conte eventos antes de terminar, depois escreva uma linha sobre o que encontrou.
- Se a função tem mais de uma regra para eventos, escolha uma regra e use-a em todos os lugares.
- Confirme cada lugar onde o teste toca em eventos. Esta é a parte que as pessoas mais perguntam.
- Mantenha eventos no final, depois escreva uma linha sobre o que encontrou.
- Mantenha eventos claros. Problemas pequenos aqui frequentemente se tornam problemas grandes depois.
- Se a função tem mais de uma regra para eventos, escolha uma regra e use-a em todos os lugares.
- Mantenha eventos curtos. A maioria dos erros desse tipo é fácil de corrigir cedo.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| eventos são fáceis de alterar | Sim, em cada lugar | Apenas em alguns lugares |
| eventos são fáceis de testar | Sim, em cada lugar | Apenas em alguns lugares |
| eventos são fáceis de testar | Sim, em cada lugar | Apenas em alguns lugares |
| eventos são seguros | Sim, em cada lugar | Apenas em alguns lugares |
Exemplo:
Antes: a interface tem eventos que não estão corretos.
Depois: o diff tem eventos que são fáceis de escanear.
Valores monetários
Quando o módulo altera valores monetários, nomeie o resultado primeiro. Nomeie cada lugar onde a alteração toca em valores monetários. Isso economiza tempo para a próxima pessoa que ler. Quando o diff altera valores monetários, encurte o resultado antes de terminar.
Etapas:
- Divida os valores monetários na função e garanta que cada um seja específico.
- Divida cada lugar onde o módulo toca em valores monetários. Isso economiza tempo para a próxima pessoa que ler.
- Mantenha valores monetários seguros. Problemas pequenos aqui frequentemente se tornam problemas grandes depois.
- Se a alteração tem mais de uma regra para valores monetários, escolha uma regra e use-a em todos os lugares.
- Mantenha valores monetários corretos. Isso mostra ao leitor que você pensou nos detalhes.
- Mantenha os valores monetários no teste e garanta que cada um esteja completo.
- Remova os valores monetários no teste e garanta que cada um seja consistente.
- Encurte valores monetários primeiro, depois escreva uma linha sobre o que encontrou.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| valores monetários são consistentes | Sim, em cada lugar | Apenas em alguns lugares |
| valores monetários são consistentes | Sim, em cada lugar | Apenas em alguns lugares |
| valores monetários são seguros | Sim, em cada lugar | Apenas em alguns lugares |
| valores monetários são simples | Sim, em cada lugar | Apenas em alguns lugares |
Exemplo:
Antes: a função tem valores monetários que não são consistentes.
Depois: a função tem valores monetários que são úteis.
Mocks
Mantenha os mocks no módulo e garanta que cada um seja fácil de escanear. Mantenha mocks específicos. Isso mantém o resultado igual a cada vez. Mova os mocks no módulo e garanta que cada um seja fácil de escanear.
Etapas:
- Quando o módulo altera mocks, junte o resultado antes de terminar.
- Adicione cada lugar onde a alteração toca em mocks. Isso mantém o resultado igual a cada vez.
- Junte cada lugar onde o módulo toca em mocks. Isso economiza tempo para a próxima pessoa que ler.
- Liste os mocks na função e garanta que cada um seja simples.
- Se a alteração tem mais de uma regra para mocks, escolha uma regra e use-a em todos os lugares.
- Encontre cada lugar onde a função toca em mocks. Uma verificação curta agora evita uma correção longa depois.
- Mantenha mocks fáceis de testar. Isso economiza tempo para a próxima pessoa que ler.
- Quando a alteração altera mocks, mantenha o resultado primeiro.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| mocks são claros | Sim, em cada lugar | Apenas em alguns lugares |
| mocks são fáceis de escanear | Sim, em cada lugar | Apenas em alguns lugares |
| mocks são seguros | Sim, em cada lugar | Apenas em alguns lugares |
| mocks são curtos | Sim, em cada lugar | Apenas em alguns lugares |
Exemplo:
Antes: o teste tem mocks que não são consistentes.
Depois: a alteração tem mocks que são curtos.
Logging
Verifique cada lugar onde a alteração toca em logging. Problemas pequenos aqui frequentemente se tornam problemas grandes depois. Se o diff tem mais de uma regra para logging, escolha uma regra e use-a em todos os lugares. Liste o logging no diff e garanta que cada um seja curto.
Etapas:
- Reescreva o logging no teste e garanta que cada um seja seguro.
- Se o teste tem mais de uma regra para logging, escolha uma regra e use-a em todos os lugares.
- Conte logging antes de terminar, depois escreva uma linha sobre o que encontrou.
- Quando a alteração altera logging, junte o resultado em seguida.
- Mantenha logging fácil de testar. Um leitor para quando esta parte não está clara.
- Quando a função altera logging, reescreva o resultado em seguida.
- Quando a interface altera logging, remova o resultado então.
- Encurte logging primeiro, depois escreva uma linha sobre o que encontrou.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| logging é fácil de testar | Sim, em cada lugar | Apenas em alguns lugares |
| logging é consistente | Sim, em cada lugar | Apenas em alguns lugares |
| logging é fácil de escanear | Sim, em cada lugar | Apenas em alguns lugares |
| logging é útil | Sim, em cada lugar | Apenas em alguns lugares |
Exemplo:
Antes: a interface tem logging que não é fácil de testar.
Depois: o módulo tem logging que está correto.
Comentários
Encurte comentários primeiro, depois escreva uma linha sobre o que encontrou. Mantenha comentários úteis. Um leitor para quando esta parte não está clara. Remova os comentários no teste e garanta que cada um seja simples.
Etapas:
- Adicione os comentários na função e garanta que cada um seja fácil de escanear.
- Leia os comentários no diff e garanta que cada um seja seguro.
- Se o diff tem mais de uma regra para comentários, escolha uma regra e use-a em todos os lugares.
- Se o diff tem mais de uma regra para comentários, escolha uma regra e use-a em todos os lugares.
- Nomeie comentários em seguida, depois escreva uma linha sobre o que encontrou.
- Liste comentários então, depois escreva uma linha sobre o que encontrou.
- Marque comentários então, depois escreva uma linha sobre o que encontrou.
- Classifique os comentários na alteração e garanta que cada um seja específico.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| comentários são seguros | Sim, em cada lugar | Apenas em alguns lugares |
| comentários estão corretos | Sim, em cada lugar | Apenas em alguns lugares |
| comentários são fáceis de testar | Sim, em cada lugar | Apenas em alguns lugares |
| comentários são fáceis de alterar | Sim, em cada lugar | Apenas em alguns lugares |
Exemplo:
Antes: o diff tem comentários que não são fáceis de alterar.
Depois: a interface tem comentários que são consistentes.
Manipulação de arquivos
Nomeie a manipulação de arquivos no final, depois escreva uma linha sobre o que encontrou. Encontre a manipulação de arquivos no diff e garanta que cada um seja consistente. Adicione cada lugar onde a alteração toca na manipulação de arquivos. Um leitor para quando esta parte não está clara.
Etapas:
- Mantenha a manipulação de arquivos específica. Isso mostra ao leitor que você pensou nos detalhes.
- Adicione cada lugar onde o módulo toca na manipulação de arquivos. Problemas pequenos aqui frequentemente se tornam problemas grandes depois.
- Quando o diff altera a manipulação de arquivos, mova o resultado depois disso.
- Mantenha a manipulação de arquivos consistente. Esta é a parte que as pessoas mais perguntam.
- Se o teste tem mais de uma regra para manipulação de arquivos, escolha uma regra e use-a em todos os lugares.
- Quando a função altera a manipulação de arquivos, adicione o resultado então.
- Quando o teste altera a manipulação de arquivos, anote o resultado em seguida.
- Quando a interface altera a manipulação de arquivos, reescreva o resultado antes de terminar.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| manipulação de arquivos é segura | Sim, em cada lugar | Apenas em alguns lugares |
| manipulação de arquivos é clara | Sim, em cada lugar | Apenas em alguns lugares |
| manipulação de arquivos está correta | Sim, em cada lugar | Apenas em alguns lugares |
| manipulação de arquivos está correta | Sim, em cada lugar | Apenas em alguns lugares |
Exemplo:
Antes: a alteração tem manipulação de arquivos que não é fácil de alterar.
Depois: a alteração tem manipulação de arquivos que é específica.
Contratos de API
Anote contratos de API no final, depois escreva uma linha sobre o que encontrou. Compare contratos de API no final, depois escreva uma linha sobre o que encontrou. Junte contratos de API no final, depois escreva uma linha sobre o que encontrou.
Etapas:
- Se o diff tem mais de uma regra para contratos de API, escolha uma regra e use-a em todos os lugares.
- Marque cada lugar onde o módulo toca em contratos de API. Sem isso, duas pessoas obtêm duas respostas diferentes.
- Se a interface tem mais de uma regra para contratos de API, escolha uma regra e use-a em todos os lugares.
- Mantenha contratos de API úteis. Um leitor para quando esta parte não está clara.
- Quando a função altera contratos de API, agrupe o resultado depois disso.
- Quando a interface altera contratos de API, compare o resultado no final.
- Confirme os contratos de API na alteração e garanta que cada um seja seguro.
- Compare cada lugar onde a função toca em contratos de API. Esta é a parte que as pessoas mais perguntam.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| contratos de API são fáceis de alterar | Sim, em cada lugar | Apenas em alguns lugares |
| contratos de API são consistentes | Sim, em cada lugar | Apenas em alguns lugares |
| contratos de API são seguros | Sim, em cada lugar | Apenas em alguns lugares |
| contratos de API são fáceis de testar | Sim, em cada lugar | Apenas em alguns lugares |
Exemplo:
Antes: o teste tem contratos de API que não são consistentes.
Depois: a interface tem contratos de API que estão corretos.
Datas e fusos horários
Adicione as datas e fusos horários no teste e garanta que cada um esteja correto. Compare as datas e fusos horários no módulo e garanta que cada um seja consistente. Agrupe cada lugar onde a alteração toca em datas e fusos horários. Um leitor para quando esta parte não está clara.
Etapas:
- Se o módulo tem mais de uma regra para datas e fusos horários, escolha uma regra e use-a em todos os lugares.
- Mantenha datas e fusos horários fáceis de escanear. Isso torna o próximo passo muito mais rápido.
- Compare datas e fusos horários em seguida, depois escreva uma linha sobre o que encontrou.
- Classifique datas e fusos horários então, depois escreva uma linha sobre o que encontrou.
- Junte as datas e fusos horários no diff e garanta que cada um seja claro.
- Quando o diff altera datas e fusos horários, remova o resultado em seguida.
- Adicione cada lugar onde a alteração toca em datas e fusos horários. Um leitor para quando esta parte não está clara.
- Anote as datas e fusos horários no módulo e garanta que cada um seja simples.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| datas e fusos horários estão corretos | Sim, em cada lugar | Apenas em alguns lugares |
| datas e fusos horários são específicos | Sim, em cada lugar | Apenas em alguns lugares |
| datas e fusos horários são claros | Sim, em cada lugar | Apenas em alguns lugares |
| datas e fusos horários são seguros | Sim, em cada lugar | Apenas em alguns lugares |
Exemplo:
Antes: a função tem datas e fusos horários que não são claros.
Depois: o diff tem datas e fusos horários que são consistentes.
Verificações de nulo
Mantenha verificações de nulo claras. A maioria dos erros desse tipo é fácil de corrigir cedo. Quando a função altera verificações de nulo, encontre o resultado primeiro. Se a alteração tem mais de uma regra para verificações de nulo, escolha uma regra e use-a em todos os lugares.
Etapas:
- Mantenha verificações de nulo seguras. A maioria dos erros desse tipo é fácil de corrigir cedo.
- Agrupe as verificações de nulo na interface e garanta que cada uma esteja correta.
- Liste cada lugar onde a interface toca em verificações de nulo. Problemas pequenos aqui frequentemente se tornam problemas grandes depois.
- Se a interface tem mais de uma regra para verificações de nulo, escolha uma regra e use-a em todos os lugares.
- Mantenha verificações de nulo completas. Um leitor para quando esta parte não está clara.
- Marque as verificações de nulo na função e garanta que cada uma seja útil.
- Quando o teste altera verificações de nulo, reescreva o resultado no final.
- Leia cada lugar onde a função toca em verificações de nulo. Uma verificação curta agora evita uma correção longa depois.
| Verificação | Bom | Precisa de melhorias |
|---|---|---|
| verificações de nulo são fáceis de alterar | Sim, em cada lugar | Apenas em alguns lugares |
| verificações de nulo são claras | Sim, em cada lugar | Apenas em alguns lugares |
| verificações de nulo são específicas | Sim, em cada lugar | Apenas em alguns lugares |
| verificações de nulo são fáceis de alterar | Sim, em cada lugar | Apenas em alguns lugares |