O que é programação em pares?

A programação em pares é uma técnica ágil de desenvolvimento de software que envolve dois programadores trabalhando em uma única estação de trabalho.

Quando se trata de desenvolvimento de software, escrever código-fonte de alta qualidade e livre de defeitos é imperativo. Para garantir ou melhorar a qualidade do código-fonte que os desenvolvedores escrevem, eles realizam uma variedade de tarefas, incluindo revisões de código, verificação de erros, loops iterativos, linting e feedback rápido.

A programação em pares é uma das técnicas de desenvolvimento mais típicas frequentemente adotadas em ambientes de trabalho ágeis. Como o próprio nome sugere, a programação em pares envolve duas cabeças em vez de uma para realizar uma tarefa de codificação específica. Eles compartilham uma única estação de trabalho e trabalham de forma colaborativa para escrever o código-fonte, além de realizar todas as outras atividades necessárias para melhorar sua qualidade.

Nesta técnica de desenvolvimento, um programador é o driver que escreve o código e o outro é o observador ou navegador que revisa cada linha de código assim que o primeiro a escreve.

No entanto, esses dois programadores podem alternar seus papéis conforme seu conforto. Às vezes, a programação em pares é chamada de emparelhamento.

Quando o navegador ou observador revisa o código, ele apresenta melhorias no código e todos os possíveis problemas futuros. A intenção principal da programação em par é permitir que o driver se concentre completamente em escrever o código efetivo enquanto o observador é um guia ou rede de segurança.

Variações de emparelhamento

Como a programação em par envolve dois programadores, existem três variações de emparelhamento diferentes, como segue:

  • Newbie-Newbie: Este emparelhamento envolve tanto programadores iniciantes. No entanto, as organizações raramente colocam em prática essa variação de emparelhamento.
  • Expert-Newbie: As organizações colocam em prática essa variação de emparelhamento para ajudar um novato a aprender sob a orientação de um programador especialista.
  • Expert-Expert: Essa variação de emparelhamento resulta em maior produtividade e eficiência, pois ambos os programadores são especialistas.
  • Esteja ciente do fato de que esses programadores frequentemente trocam de papéis para que possam revisar o trabalho uns dos outros. Eles também ganham experiência trabalhando com diferentes aspectos do desenvolvimento. Além disso, a troca de papéis os mantém alertas e engajados.

    Geralmente, a programação em pares aproveita os diferentes estilos:

    1. Estilo Driver-Navigator

    O estilo driver/navigator é um dos estilos mais utilizados. O driver lida com a codificação enquanto o observador consegue revisar. Eles geralmente trocam de papéis durante o desenvolvimento. Além disso, é um estilo ideal quando um programador é experiente e o outro é iniciante.

    2. Estilo não estruturado

    O estilo não estruturado funciona de maneira ad-hoc, onde os dois programadores decidem na hora se serão o motorista ou o observador. No entanto, esse estilo não é ideal para projetos de longa duração.

    3. Estilo de pingue-pongue

    Esse estilo funciona bem com desenvolvimento orientado a testes, onde um programador escreve testes e o outro faz esses testes passarem. Semelhante ao estilo do driver/navegador, as funções de escrever e passar nos testes continuam mudando com frequência.

    Vantagens

    Detecção mais fácil de bugs: enquanto um desenvolvedor escreve o código, o outro revisa linha por linha e identifica bugs ou erros no código.

    Aprendizado mútuo: Como dois programadores trabalham coletivamente, eles podem compartilhar seus conhecimentos com o outro.

    Melhores habilidades de comunicação: dois desenvolvedores trabalham constantemente por horas, colaboram entre si e compartilham conhecimento. Isso resulta em melhores habilidades de comunicação.

    Últimos Artigos

    Sustentabilidade

    Somos uma empresa sustentável

    Nós da ExpressoNaWeb prezamos muito a sustentabilidade de nosso planeta.

    Todos nossos processos são digitais, minimizando impactos na natureza e no mundo.