InfoQ

Notícias

Código de Qualidade nas Equipes

Postado por Niclas Nilsson , traduzido por Samuel Carrijo em 03 Jul 2009 11:54 AM

Comunidade
Architecture
Tópicos
Entregando Qualidade,
Análise de Código,
Artefatos & Ferramentas
Tags
Qualidade

Malik Jaibeer postou uma introdução de como endereçar e introduzir código de qualidade dentro de uma equipe. Sua série de posts podem ser úteis pra quem estiver em uma situação na qual se queira aprender mais para si mesmo ou apresentar essas idéias para outros. A série oferece uma visão geral breve do tema e aponta várias direções para se estudar mais.

Jaibeer pergunta:

Quantas vezes já aconteceu com você de, ao começar a participar de um novo projeto e olhar para o código pela primeira vez ou quando um novo membro se junta ao projeto, das outras pessoas normalmente dizerem que o código está uma porcaria e que precisamos melhorar isso e aquilo. Com o passar do tempo você raramente tem a oportunidade de corrigí-lo e a mesma coisa acontece repetidamente.

Ele começa o primeiro post com perguntas como:

  • O que é bom aprender para escrever código bom?
  • Como faço pra diferenciar se o código na minha frente é de boa ou de má qualidade?
  • Quais são os critérios ou fatores para avaliar se um código é bom ou ruim?
  • Como "abordar" o código para resolver o problema da qualidade?
  • Como transformar o código ruim em código bom?

A série é então organizada em três partes distintas:

Aprender Orientação a Objetos, Padrões de Projeto, Limpeza de Código e Refatoração

Uma das primeiras coisas a se fazer para melhorar a qualidade do código produzido por uma equipe é ajudar os membros a aprender o básico do que é importante. Esta parte da série dá orientações sobre coisas importantes para aprender e links úteis para bons materiais de aprendizagem (livros, blogs e jogos).

Ferramentas de Medição

Na parte em que ele fala de Ferramentas de Medição, Jaibeer explica as razões para a utilização ferramentas de análise estática do código.

Análise estática de código pode te ajudar a descobrir os possíveis erros de codificação do software. Podem ocorrer reais melhorias na qualidade do software através da integração de ferramentas SCA (análise estática de código) no seu processo de desenvolvimento. É melhor constatar estes problemas durante a fase de desenvolvimento, ao invés de quando o software já estiver em produção.

Ele enumera nove ferramentas que oferecem diferentes métricas e perspectivas sobre o seu código fonte e dá uma breve descrição de cada ferramenta. As ferramentas que ele lista são para análise de código Java, mas mesmo se Java não for a linguagem que você usa, a visão geral de cada uma das ferramentas ainda pode lhe dar insights sobre o que as ferramentas podem fazer por você e, assim, dar-lhe idéias do que procurar para sua plataforma. Há também recomendações sobre a forma de integrar as ferramentas no seu processo de build.

Cultura de Organização na equipe

A última parte da série descreve a forma de compartilhar o conhecimento e cultura da equipe. Novamente, é um ponto de partida breve, mas útil sobre coisas a se pensar quando você estiver descobrindo como fazer com que a nova cultura "pegue". Jaibeer apresenta reflexões sobre:

  • Programação pareada
  • Wiki
  • Normas de codificação
  • Lista de Emails
  • Informar os demais ao resolver um problema

Use a série como uma visão geral e um ponto de partida, para descobrir como mergulhar mais fundo no complexo tema de qualidade de código nas equipes.

Conteúdo Educacional

Scrum e Estratégia

Se Scrum é completamente sobre curto prazo, como os caras da estratégia trabalhariam neste ecossistema?

Por que Adoção de Agile falha em Algumas Organizações

Este artigo explica o porquê a adoção de Agile falha em algumas organizações.

Amigo “Líder”: Você seria liderado por si mesmo?

Esse artigo apresenta o seguinte autoquestionamento: Eu seria liderado por mim mesmo? Essa é uma pergunta direta, porém,respondê-la é enormemente complicado.

MicroORM, um ORM de tipos dinâmicos para VB e C# em mais ou menos 160 linhas

ORMs estão na moda nos dias de hoje por uma boa razão: eles podem fazer o desenvolvimento de aplicações baseadas em banco de dados rápido e sem dor.

O Elefante na sala: Usando a Neurociência para Aprimorar os Relacionamentos no Trabalho

Os novos conhecimentos em neurociência (neurociência social, psicologia positiva e técnicas de imagem) nos dão ferramentas para entender e ampliar a habilidade de homens e mulheres trabalharem juntos.

Tenha nojo dos impedimentos

Esse texto almeja gerar uma reflexão na forma como os times estão tratando os impedimentos que aparecem em seu cotidiano.

Superando os Desafios Técnicos para a Adoção de Métodos Ágeis nas Empresas

Este artigo aborda os desafios para adoção de métodos ágeis dentro da empresa e as estratégias para enfrentá-los.

Análise Burndown no Gerenciamente de Cronograma e de Produtividade

Gerenciar a produtividade e o cronograma em um projeto é sempre um desafio devido à complexidade na tomada de decisões. Neste artigo, tentamos usar o gráfico burndown para endereçar este problema.