Like A Girl

Pushing the conversation on gender equality.

Code Like A Girl

Uma história de Pair Programming a longa distância

Pair programming, parear, escrever código em dupla. Quem escreve código pelo menos uma vez já pareou e, se não o fez ainda, provavelmente irá fazer isso em algum momento da vida. Para os estudantes da arte da programação que escrevem código em grupo, pair é uma técnica tão normal que muitas vezes nem percebem que estão fazendo.

Escrever código em par é bom por uma série de motivos, dentre eles gosto de destacar o aumento de produtividade e foco, oportunidade de aprendizado e também diversão. Desenvolver um programa ou um script a quatro mãos é uma das experiências mais gostosas de ser programadora.

Fonte

Trabalho remoto e programação a longa distância

Muitos podem achar que para parear é necessário estar na mesma sala que o seu par. Quem trabalha remotamente sabe o quanto isso não é necessáriamente verdade.

Para um time de desenvolvedores que trabalha junto, programar a longa distância é mais uma das coisas fantásticas que programadores fazem e isso vem muitas vezes de mãos dadas com o trabalho remoto. No time da Serenata, podemos contabilizar horas e horas de telas compartilhadas, sejam entre aqueles trabalhando na mesma cidade (Irio Musskopf e Ana Schwendler ), ou entre aquelas trabalhando em estados diferentes (Eduardo Cuducos e eu).

Nós usamos os olhos dos colegas de trabalho como forma de escrever um código melhor e também como fonte milagrosa da dádiva do desempacamento. Usar a tecnologia à nosso favor na hora de programar é uma arte.

Quem pareia tem suas formas preferidas, eu vou falar uma das minhas. Programo em Python, e no meu dia a dia uso:

  • O Ubuntu: meu sistema operacional oficial desde 2015;
  • O terminal do Ubuntu: meu companheiro para todas as horas;
  • VIM: o editor de texto dos viciados em telas pretas e atalhos de teclado;
  • tmux (e tmate): o multiplexador de terminais queridinho dos devs.

VIM

VIM é um editor de texto altamente configurável e focado em eficiência. Mas também é conhecido por não ser fácil de usar pois é uma ferramenta que precisa ser aprendida antes de ser utilizada. A frase “não deixo de usar vim pois não sei como sair dele” é a piadinha mais comum de se ouvir pelas pessoas de tech.

Tela incial do VIM

Para usar o VIM você precisa saber algumas coisas básicas:

  • Ele possui modos diferentes de uso: como o de inserção que serve para escrever e o modo de comando que usamos para informar ao vim comandos que queremos executar;
  • Os comandos do VIM são escritos, coisas como set number, para mostrar os números da linha, set cc=80 (color column) mostra uma coluna no octagésimo caracter de todas linhas e wq (write and quit) para salvar o arquivo e sair do editor.

O VIM foi feito para que tudo que você queira fazer no editor possa ser feito sem remover as mãos do teclado.

tmux e tmate

Quem desenvolve usando o terminal às vezes se pega tendo que abrir mais de uma janela, por exemplo, se eu estiver rodando um web-app, eu provavelmente vou ter um terminal rodando um server, um outro com acesso ao código que estou editando, se forem tanto o html quanto o css isso já me dá três janelas abertas.

sessão tmate com vim, server, tree e ipython tudo rodando ao mesmo tempo

Para eliminar essa quantidade excessiva de janelas abertas, o tmux foi desenvolvido, ele é um multiplexador de terminais e permite que você tenha todos os arquivos e processos rodando e mostrando resultados na mesma tela. Com base no tmux, surgiu o tmate, que além de usar todas as maravilhas que o tmux tem, ele ainda abre um canal de comunicação seguro para que o seu mate (amigo) possa se conectar por meio de uma sessão ssh. E o melhor é que o seu mate não precisa nem estar num ambiente que provê acesso ssh, lhe basta um navegador.

Uma vez aberto o canal iniciado com um simples tmate no seu terminal, você pode mandar o link de acesso para quem quiser e, caso o link enviado não seja o read-only, a pessoa do outro lado da conexão poderá programar no seu computador.

Assim como o VIM, tmux /tmate possui modos e atalhos de teclado para sua utilização. E eu recomendo fortemente essa palestra do Marco Rougeth para usar de referência com esses comandos.

Canal por voz

Junto ao editor de texto, que para essa estrutura funcionar precisa ser um que abra no terminal, e o terminal compartilhado, eu ainda uso algum canal por voz.

Fonte

Já usei: Zoom, Hangouts, appear.in e Skype e nesse caso é muita questão de escolha pessoal, disponibilidade de banda e quanto cada um desses influencia na capacidade de processamento do seu computador.

Essa é uma alternativa ao famoso screen share trazida pelos grandes programas de video-conferência. No meu computador que traz uma capacidade de processamento limitada, VIM + tmate + Hangouts, tem se mostrado uma forma graciosa de trabalhar a distância sem os tantos travamentos que já atrapalharam por diversas vezes.

Tendo à mão todas essas tecnologias e um pouquinho de treino, pair será um momento legal de muito código escrito a quatro mãos.

Fonte

Obrigada ao grupy-rp por me apresentar e me treinar na arte do vim, tmux e pair programming; ao Marco muito obrigada por me apresentar tmate, tmuxp (um gerenciador de sessões do tmux) e outras maravilhas como essas; ao Otávio obrigada pelas dicas e feedback; e ao time do Serenata obrigada pelas oportunidades diárias de pair programming ❤ ❤ ❤

Originalmente postado aqui.

Siga a tag codelikeagirlBR para ver nossos posts! 😀

Quer escrever ou traduzir artigos em português para a Code Like A Girl? Se você já faz parte do time de escritoras(es) da Code Like A Girl basta enviar seu artigo diretamente para nossa publicação. Se você ainda não faz parte do nosso time, envie uma mensagem direta para a conta de twitter CodeLikeAGirlBr. Nós avaliaremos seu artigo e ajudaremos a refiná-lo para publicação.