1º Coding Dojo

NodeSchool

# whoami

root Victor Perin

  • Organizador do NodeSchool Campinas
  • Desenvolvedor NodeJS
  • Desculpem pelos vicios de linguagem
  • ❤️ Cryptography | Cypherpunks | Bitcoins
  • ❤️ JS | Docker | NoSQL
  • ❤️ FP | Reactive | Async
  • ❤️ DevOps

Dojo: local de treinamento

Formatos

  • Kata
  • Randori
  • Kake

Kata

(oponente invisível)

Existe um apresentador, que mostra a solução pronta, previamente desenvolvida.

 

O objetivo é que todos os participantes sejam capazes de reproduzir a solução alcançando o mesmo resultado, sendo permitido realizar interrupções para sanar dúvidas a qualquer momento.

Os códigos depois podem ser comparados e votados.

Esse é um formato competitivo.

Randori

(não há juiz, nem pontos)

Nesse formato todos participam do mesmo código, de forma colaborativa.

É proposto um problema que deve ser resolvido em uma única maquina, por pares. Os pares mudam a cada 5/10/15 minutos. O resto do time não pode ajudar mais.

 

Para esse formato é imprescindível a utilização de TDD e baby steps.

 

Vamos usar esse formato.

Kake

(treino vendado)

Esse formato é parecido com o Randori, mas com várias duplas codando ao mesmo tempo. De 5 em 5 minutos eles se misturam e pegam o código de outra dupla.

 

Vale tudo menos olhar o outro pc enquanto programa.

TDD

(Test driven development)

Idéia principal:

cobrir 100% sua aplicação de testes unitários.

Baby Steps Cycle

TDD Cycle

3 leis do TDD

  1. You can't write any production code until you have first writen a failing unit test.
  2. You can't write more of a unit test than is sufficient to fail.
  3. You can't write more production code than is sufficient to pass the currently failing unit test.

Pair Programming

Idéia principal:

escrever código em conjunto, de forma mais rápida e eficiente.

Pair Programming

A programação pareada é uma técnica de desenvolvimento de software ágil em que dois programadores trabalham juntos em uma estação de trabalho. Um deles, o "controlador", escreve o código, enquanto o outro, chamado de "observador", analisa cada linha do código.

Pédia, Wiki.

Bad Example

Good Example

O que faremos hoje,

cerebro?

Regras

  •  De 5 em 5 mins
    • O piloto volta para a plateia
    • O co-piloto assume o lugar do piloto
    • Alguem da plateia assume como co-piloto
  • A plateia só ajuda quando todos os testes estiverem passando (verde).
  • Todos devem entender a solução final, que será explicada pelo piloto e copiloto no final.

Tecnologias

não é magia

  • VS Code
  • Jest
  • Wallaby.js
  • EsHint

Slides em mãos

Regras, 3 leis, etc...

Coding Time!

Coding Dojo - NodeSchool

By Victor Perin

Coding Dojo - NodeSchool

  • 572