Resposta curta
Qualidade de código define evidências de que o código é compreensível, seguro para alterar e coerente com os acordos de engenharia.
Sobre Qualidade de código
Capacidade de produzir e melhorar código que outras pessoas conseguem entender, verificar, manter e alterar sem risco evitável.
Use esta competência para
- Functions em que as pessoas criam ou revisam código usado em produção.
- Papéis responsáveis por manter código compartilhado compreensível e fácil de mudar.
Não use esta competência para
- Papéis que não criam, alteram nem revisam código de software.
Diferenças importantes
Estratégia de testes
Estratégia de testes define que confiança os testes precisam gerar. Qualidade de código avalia a estrutura e a manutenção do próprio código.
Gestão de dívida técnica
Gestão de dívida técnica prioriza restrições acumuladas. Qualidade de código avalia mudanças e revisões específicas.
Expectativas por nível
IC1
Contribuidor individual 1
Produz código de escopo definido com orientação, segue os padrões existentes e resolve os comentários de revisão antes da integração.
Comportamentos observáveis
- Segue os padrões do repositório para nomes, estrutura e erros.
- Mantém a mudança concentrada no requisito descrito.
- Responde à revisão com uma alteração ou uma justificativa registrada.
Exemplos
- Separou uma limpeza sem relação direta da correção para facilitar as duas revisões.
- Usou o helper já adotado pelo time no lugar de repetir a mesma condição.
IC2
Contribuidor individual 2
Melhora com autonomia o código de uma área do time, resolve escolhas pouco claras de manutenção e revisa pares pelos acordos compartilhados.
Comportamentos observáveis
- Escolhe interfaces que escondem detalhes sujeitos a mudança.
- Revisa legibilidade, acoplamento e tratamento de falhas.
- Remove repetição quando há evidência de uma abstração comum adequada.
Exemplos
- Reorganizou o limite de um módulo para incluir outra fonte sem mudar os chamadores.
- Manteve duas implementações separadas e registrou o sinal que justificaria uni-las.
IC3
Contribuidor individual 3
Define direção de qualidade de código entre times para problemas complexos ou repetidos e permite que outras pessoas apliquem o padrão sem revisão central.
Comportamentos observáveis
- Define um padrão a partir de falhas ou comentários recorrentes.
- Conduz refatorações entre times por estados intermediários seguros.
- Verifica se a regra adotada reduz o problema que motivou a mudança.
Exemplos
- Criou uma regra de limites depois que o mesmo acoplamento apareceu em vários serviços.
- Planejou uma refatoração entre repositórios mantendo todos publicáveis em cada etapa.