Olá a todos! Espero que todos tenham um ano novo melhor que o anterior!
Para o primeiro artigo do ano vou falar de Dojos de Programação! Isso porque vou tentar usá-los em uma disciplina nova que serei responsável neste ano: laboratório de programação.
Dojos de Programação são eventos em que programadores se reúnem para programar de um jeito bem especial. Dois programadores (denominados piloto e co-piloto) trabalham em um computador cuja tela é compartilhada com todos os outros (plateia). Os programadores usam as técnicas de programação chamadas "programação em pares", "passos de bebê" e "desenvolvimento dirigido por testes".
Programação em pares diz que o programador-piloto usa o teclado enquanto que o co-piloto vê tudo que ele faz e vai conversando sobre como continuar resolvendo a questão. Essa é uma estratégia muito boa quando há um desenvolvedor mais experiente que o outro, aprende-se muito rápido enquanto trabalha!
Passos de bebê é uma técnica que define um tamanho máximo para as alterações feitas durante o desenvolvimento. O trabalho de programação deve ser feito a passos lentos (de bebê), nada de criar muitas coisas de uma vez...
Isso é essencial para usar o desenvolvimento dirigido por testes. Essa técnica define que primeiro você cria um teste para a funcionalidade que você ainda não fez (e por isso falha -> semáforo vermelho), e só depois você faz o teste passar (semáforo verde). Geralmente essa primeira forma de fazer o teste passar não é boa, então os programadores arrumam o código para ele ficar bom, mantendo sempre o semáforo verde.
No dojo, a plateia assiste a tudo, mas só pode ajudar o piloto e o co-piloto quando o semáforo está em verde. Isso é um grande limitador e as pessoas às vezes não se seguram. Além disso, o piloto e o co-piloto só ficam nessas funções durante 5 minutos (tempo exato!). Quando o tempo acaba o piloto volta para a plateia, o co-piloto vira piloto e alguém da plateia assume seu posto.
Essa dinâmica faz com que todos prestem atenção no que os programadores principais estão fazendo e há espaço para discussão de formas diferentes para solução do problema. O importante não é resolver o problema, mas aprender. Então ao final, sempre deve haver um espaço para discutir o que foi aprendido e o que impediu a aprendizagem.
==
Tudo que descrevi aprendi com o pessoal do DojoSP: http://www.dojosp.org/. Essa associação é formada de programadores que trabalham em formação continuada. Agora o desafio é adaptar essa dinâmica para alunos do 1o ano da faculdade que nunca programaram na vida!!
Acompanhem os próximos episódios!!
Fazer um "HelloWord" para galera que não manja dessa forma vai ficar bem legal !
ResponderExcluir